如何在java中打印此模式?

时间:2014-12-01 05:18:55

标签: java loops

我无法打印此模式: -

90
890
7890
67890
567890
4567890
34567890
234567890
1234567890

我已经尝试过了:

class loop1
{
public static void main(String args[])
    {
        for(int i=1;i<10;i++)
           {    
            for(int j=9;j<10;j++)
               {   System.out.print(j);
                   j--; 
               }
            System.out.println("");
           }
    }
}

但获得无限9的输出,这是一个永无止境的循环。

6 个答案:

答案 0 :(得分:2)

试试这个

public static void main(String args[]) {
    for (int i = 1; i < 10; i++) {
        for (int j = i; j > 0; j--) {
            System.out.print(10 - j);
        }
        System.out.println(0);
    }
}

答案 1 :(得分:1)

试试这个非常简单 工作示例是here

StringBuffer s = new StringBuffer("0");

for(int i = 9; i > 0; i--) {

s.insert(0, i);

System.out.println(s);

结果

90

890

7890

67890

567890

4567890

34567890

234567890

1234567890

答案 2 :(得分:0)

你的外环循环错误;对于一个有效的解决方案,它应该从9下降到1.然后,你的内部for循环将循环到9:

for(int i = 9; i > 0; i--) {
    for(int j = i; j < 10; j++) {
        System.out.print(j);
    }
    System.out.println(0);
}

0不能成为循环的一部分,因为它不适合1-9模式。但是,您可以打印每个数字的最后一位数字并剪切println语句的0部分:

for(int i = 9; i > 0; i--) {
    for(int j = i; j < 10; j++) {
        String number = j + "";
        System.out.print(number.substring(number.length() - 1));
    }
    System.out.println();
}

答案 3 :(得分:0)

试试这个:

StringBuffer s = new StringBuffer("0");
for(int i = 9; i > 0; i--) {
    s.append(i);
    System.out.println(s);
}

答案 4 :(得分:0)

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

答案 5 :(得分:0)

也许我迟到但我必须发布这个因为我对循环的热爱

public class SeriesLoop {


    public static void main(String a[]){


    for(int i=9;i>=1;i--){
        for(int j=i;j<=10;j++){
            System.out.print(j%10);

        }
    System.out.println();
    }

    }

}

DEMO

干杯