作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试用 Java 制作一个键盘,它接受用户输入的字母,以及每行所需的字符数。然后它应该打印所需行数的字符,因此如果输入 "abcdefgh"
并且所需行号为 4,它应该打印:
abcd
efgh
但我一直在思考如何让它发挥作用。
public class Keypad {
char [][] letters;
public Keypad(String chars, int rowLength) {
int counter = 0;
for (int i = 0; i<chars.length(); i++){
counter++;
}
letters = new char[rowLength][counter/rowLength];
}
public String toString() {
String s = " ";
for (int row=0; row<letters.length; row=row+1) { // Over rows
for (int col=0; col<letters[row].length; col=col+1) {
s = s + letters[row][col];
}
s = s + "\n";
}
return "the keypad is" + s;
}
最佳答案
toString()
方法的逻辑看起来不错,但是您没有在构造函数中填充 letters
数组。所以你需要在构造函数中添加这样的东西:
public Keypad(String chars, int rowLength) {
// you don't need to count the length with a loop
int nRow = chars.length()/rowLength;
if(chars.length()%rowLength!=0) nRow++;
letters = new char[nRow][rowLength];
for(int i = 0, n = 0 ; i < letters.length ; i++) {
for(int j = 0 ; n < chars.length() && j < letters[i].length ; j++, n++) {
letters[i][j] = chars.charAt(n);
}
}
}
关于java - 将二维数组中的一串字符打印成一定行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36830477/
我正在尝试开发右边框/Angular 具有特定 Angular (30°) 的表格。我见过一些类似的解决方案,但它们都无法在一定程度上发挥作用。如果我想从 30° 改变到 20°,我不想花太多力气。
我是一名优秀的程序员,十分优秀!