我正在尝试创建带有用户输入数字的代码,并将其存储为int。然后我打印出' int'行数,' int' ' char'在他们每个人。所以说例如,输入的数字是3,然后输出
XXX
XXX
XXX
但是,当我尝试这样做时,它只是给出了它计算的ASCII数*输入数字的数字。这是我目前的代码:
public static void main(String[] args) {
Scanner kb = new Scanner (System.in);
System.out.println("Please enter a number:");
int number = kb.nextInt();
kb.close();
char letter = 'X';
int sqnumber = number * number;
for (int i = 0; i < number; i++) {
System.out.println (letter * number);
}
}
然而,这只是给了我:
Please enter a number:
3
264
264
264
答案 0 :(得分:0)
嵌套循环:
for (int i = 0; i < number; i++) {
for (int j = 0; j < number; j++) {
System.out.print(letter + "");
}
System.out.println();
}
答案 1 :(得分:0)
char是Java中的一个完整类型。所以你每次将'X'的ASCII值乘以3。编辑你的循环 -
for (int i = 0; i < number; i++) {
for (int j = 0; j < number; j++) {
System.out.print(letter);
}
System.out.println();
}
答案 2 :(得分:0)
为了获得最佳性能,您可能需要以下内容:
TcpInboundGateway
答案 3 :(得分:0)
String对象中有repeat()
方法(在Java 11中显示)。示例:
System.out.print("XXX\n".repeat(4));
答案 4 :(得分:-1)
您需要嵌套for循环,并且没有正确使用char X
。
试试这个
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
System.out.println("Please enter a number:");
int number = kb.nextInt();
kb.close();
char letter = 'X';
int sqnumber = number * number;
for (int i = 0; i < number; i++) {
for (int j = 0; j < number; j++) {
System.out.print(letter);
}
System.out.println();
}
}
输出
Please enter a number:
4
XXXX
XXXX
XXXX
XXXX