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;j
break
将从外部
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();
}