Java 如何使用以下格式打印1到10第一行第2行第2&;3第3行4、5和;6第四行7,8,9,10?
我试着这样做Java 如何使用以下格式打印1到10第一行第2行第2&;3第3行4、5和;6第四行7,8,9,10?,java,loops,Java,Loops,我试着这样做 for (int j = 1; j <= 4; j++) { for (int k = 1; k < 10; k++) { if (k <= j) { System.out.print(k + " "); } else break; } System
for (int j = 1; j <= 4; j++) {
for (int k = 1; k < 10; k++) {
if (k <= j) {
System.out.print(k + " ");
} else
break;
}
System.out.println();
}
这个问题是在我参加过的一次面试中被问到的,我心碎了,想找到解决办法。。我无法想象..以前有一个变量
int printed = 1;
改变你的想法
System.out.print(k+" ");
与
此代码将执行以下操作:
int i, j, k;
for (i = 1, j = 1; i < 11; j++) {
for (k = 0; k < j; k++)
System.out.print(i++ + " ");
System.out.print("\n");
}
inti,j,k;
对于(i=1,j=1;i<11;j++){
对于(k=0;k
基本上,我控制下一个要打印的数字,而j控制当前行中要打印的数字数量。k只是j的一个计数器。这样就可以了:
public static void main(String[] args)
{
int i, j, k;
for (i = 1, j = 1; i < 11; j++)
{
for (k = 0; k < j; k++)
{
System.out.print(i++ + " ");
}
System.out.println();
}
}
publicstaticvoidmain(字符串[]args)
{
int i,j,k;
对于(i=1,j=1;i<11;j++)
{
对于(k=0;k
你也可以尝试一些数学魔术(序列)
for(int j=1;jbreak
将从外部for
中断。试图理解这个“问题…”的标题时,我的头脑发胀了感谢您的回复,但break不会为循环中断外部。'break 2'将为循环中断外部。@RamonBoza感谢您的解决方案是正确的。这是一个非常简单的答案。.现在我很放松。.顺便说一句,这是一个丑陋的解决方案,在未来这段代码会闻起来很难闻哇。!这是另一种方式,我不敢相信我真的没有思考。
int i, j, k;
for (i = 1, j = 1; i < 11; j++) {
for (k = 0; k < j; k++)
System.out.print(i++ + " ");
System.out.print("\n");
}
public static void main(String[] args)
{
int i, j, k;
for (i = 1, j = 1; i < 11; j++)
{
for (k = 0; k < j; k++)
{
System.out.print(i++ + " ");
}
System.out.println();
}
}
for (int j = 1; j <= 4; j++) {
for (int k=(int) (0.5*(Math.pow(j,2)-j+2));k<=(int) (0.5*j*(j+1));k++) {
System.out.print(k + " ");
}
System.out.println();
}