Java 无法生成输出(对于循环)

Java 无法生成输出(对于循环),java,Java,我正在打印 ****1 ***22 **333 *4444 55555 因为我是java的初学者。我只是打印 11111 22222 33333 44444 55555 我的解决方案: for (int i = 1 ; i <= 5 ; i++){ for(int j = 1 ; j <= 5 ; j++){ System.out.print(i); } System.out.println(); } for(int i

我正在打印

****1
***22
**333
*4444
55555
因为我是java的初学者。我只是打印

11111
22222
33333
44444
55555        
我的解决方案:

for (int i = 1 ; i <= 5 ; i++){
    for(int j = 1 ; j <= 5 ; j++){
        System.out.print(i);
    }
    System.out.println();
}
 for(int i=1;i<=4;i++){
     for(int j=1;j<=5-i;j++){
         System.out.print("*");
     }
     System.out.println();
 }
我的解决方案:

for (int i = 1 ; i <= 5 ; i++){
    for(int j = 1 ; j <= 5 ; j++){
        System.out.print(i);
    }
    System.out.println();
}
 for(int i=1;i<=4;i++){
     for(int j=1;j<=5-i;j++){
         System.out.print("*");
     }
     System.out.println();
 }

我尝试将它们合并在一起,但我不知道如何合并。我知道我很接近,但我被困在这里。

在尝试解决问题之前,你必须理解问题。
    int k = 4;
        for (int i = 1 ; i <= 5 ; i++){
            System.out.println(); 
            for(int j = 1 ; j <= 5 ; j++){
               if(j<=k){
                  System.out.print("*"); 
               }else{
                  System.out.print(i);
                  k--;
               }
            }
        }
就你而言

因为有列和行,所以有两个循环 生成列的循环: 必须位于生成线条的线条内 必须知道是打印星号还是数字 生成线的循环 必须知道该行上应该打印哪个号码 你必须知道那一行应该印多少颗星
你应该了解i,j变量代表什么。找到规律,你将很容易解决这个问题

for(int i=1;i<=5;i++){
    for(int j=1;j<=5-i;j++){
        System.out.print("*");
    }
    for (int j=5-i+1;j<=5;j++){
        System.out.print(j);
    }
    System.out.println();
}

这里有一个简单的方法

for (int i = 1; i <= 5; i++) {
    for (int j = i; j < 5; j++)
        System.out.print("*");
    for (int k = 0; k < i; k++)
        System.out.print(i);
    System.out.println();
}

你很接近,你需要两个内环,一个是星,一个是数字。来吧,你可以自己做D提示:在每一行上,你需要打印5-i星号,后跟i乘以数字作为提示,尝试修改你的程序来打印数字,这样第一行有1/1,第二行有2/2,等等…或者在内部循环中有一个if。这是一个算法问题,而不是编程问题-你的代码表明你知道必要的Java!再坐下来,拿一张纸写下这些行,想象你是一台计算机,在这样做的时候跟踪一些计数器。你可以用if-then-else做一些事情。只是为这类简单的问题提供代码并不能教会他任何东西。仅仅为这类简单的问题提供代码并不能教会他任何东西。通常我会提倡简短的基于代码的答案,但当这是一个用户正在努力解决的基本问题时,他们永远也不会知道,如果他们只是提供了解决方案。仅仅为这种简单的问题提供代码不会教给他任何东西。我不明白为什么我会有缺点,即使我得到了相同的输出要求,奇怪!!!他不想靠,他想在班上得个A。如果我是他,我会在发布之前花一些时间。1这似乎是一个想学习的人提出的问题。2如果你不这么认为,那么更糟糕的是,你只提供了一个代码答案。3您的解决方案甚至不是特别好,额外的变量k是不必要的,这会降低代码的可读性,并可能有助于在扩展算法时引入错误,因为它依赖于另一个硬编码值。