如何使用for循环打印此内容?
1
22
333
4444
55555
我已经尝试过了。但这不是在打印我想要打印的内容。
public class void main(String[] args) {
int last = 5, first = 1;
for (int i = 1; i <= last; i++) {
for (int j = last; j > i; j++) {
System.out.print(" ");
}
for (int k = i; k >= 1; k--){
System.out.print(k);
}
System.out.println();
}
}
它只是打印出来。
1
21
321
4321
54321
答案 0 :(得分:3)
如您所见,第一次打印是正确的,然后是k
等于i
的时候,所以只需打印i
System.out.print(i);
修改
根据您编辑的代码,进行上述更改,请
for (int j = last; j > i; j--) {
输出
1
22
333
4444
55555
最终
int last = 5;
for (int i = 1; i <= last; i++) {
for (int j = last; j > i; j--) {
System.out.print(" ");
}
for (int k = i; k >= 1; k--){
System.out.print(i);
}
System.out.println();
}
答案 1 :(得分:1)
您的新问题解决方案只需将k更改为i System.out.print(i)
int last = 5, first = 1;
for (int i = 1; i <= last; i++) {
for (int j = last; j > i; j--) {
System.out.print(" ");
}
for (int k = i; k >= 1; k--){
System.out.print(i);
}
System.out.println();
}
输出:
1
22
333
4444
55555
答案 2 :(得分:0)
在每个循环中,给定数字i之前的空白数为maxNumber-i,当前数字显示的次数为i:
let clientcontract=this.state.customer.filter(cust => {
return this.state.addclient.some(client => {
return cust.id === client.id // comparing customer and client id
});
}).map(cust => cust.name);
答案 3 :(得分:0)
要获得有效的代码,首先用文字描述详细的解决方案将很有帮助。可能是:
height
的三角形,请分别打印从1到n
的每一行。
row
,请确定:
row
相同。digits
与行号row
相同。spaces
的数量取决于行的总长度。width - digits
。for
循环,从0开始计数,但不包括重复字符。此描述然后翻译为以下代码:
public static void main(String[] args) {
int height = 5;
int width = height; // can also be larger than height
for (int row = 1; row <= height; row++) {
int digit = row;
int digits = row;
int spaces = width - digits;
for (int i = 0; i < spaces; i++) {
System.out.print(' ');
}
for (int i = 0; i < digits; i++) {
System.out.print(digit); // assuming that digit needs only a single character to print
}
System.out.println();
}
}
当然,此程序比其他程序长,但是使用调试器逐步执行该程序时,您会在变量中获取有关当前状态的所有信息。通过查看变量值,您总是可以问自己:这有意义吗,spaces
和digits
和width
是否适合?
该程序还将整个工作分为两个阶段。在第一阶段,确定要打印的内容和打印的数量,然后仅打印它。