先有的图片,然后才有的以下程序,不知道之前有没有人做过,大家学习一下啊。。public class Math {
private static int pre=1;
public static int getResult(int pre2,int suf){
return pre2*8+suf;
}

public static void main(String[] args) {
for(int i = 1;i <= 9;i++){
for(int j = 9-i; j >= 1;j--){
System.out.print(" ");
}
System.out.println(pre+"*8+"+i+"="+getResult(pre, i));

pre = pre*10+(i+1);
}
}
}

解决方案 »

  1.   

    个人想法:对于1至123456789的生成,也可以用字符串的连接
           
    for (int i = 1; i < 10; i++) {
      pre += i;
      System.out.println(Integer.parseInt(pre));
    }到底是每次乘10加上个位好点,还是每次进行字符串的连接好点,等待牛人分析了
      

  2.   

    上面的pre是字符行了,在for前面有 String pre = new String();
      

  3.   

    分享一下我写的代码,找到规律之后完全使用字符串的拼接做的String pre = new String();
    String pre2 = new String();
    for (int i = 1; i < 10; i++) {
     for (int j = 0; j < 9 - i; j++) {
      System.out.print(" ");
     }
     pre += i;
     pre2 += 10 - i;
     System.out.println(pre + " X 8 + " + i + " = " + pre2);
    }
      

  4.   

            for(int i = 1, j = i; i < 10; i++, j= j*10+i){
                int result = j * 8 + i;
                System.out.printf("%9d * 8 + %d = %d\n", j , i ,result);
            }
      

  5.   

    for(int i = 1, j = i; i < 10; i++, j= j*10+i){ System.out.printf("%9d * 8 + %d = %d\n", j, i, j * 8 + i); }
      

  6.   

    public class Demo1 {
    public static void main(String[] args) {
    int n = 8;
    int sum = 0;
    String str = "";
    for (int i = 1; i < 10; i++) {
    for (int j = i; j < 9; j++) {
    System.out.print(" ");
    }
    str += i;
    sum = Integer.parseInt(str)*8+i ;
    System.out.println(""+str+"*"+n+"="+sum+"");
    }
    }
    }
      

  7.   

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

  8.   

    你们太牛了,我代码好长public class TestPrint
    {
    public static void main(String[] args)
    {
    TestPrint.print(9);
    }

    public static void print(int layer)
    {
    for (int i = 1; i <= layer; i++)
    {
    //打印空格
    for (int j = 1; j <= layer-i; j++)
    {
    System.out.print(" ");
    }

    //打印被乘数
    for (int j = 1; j <= i; j++)
    {
    System.out.print(j);
    }

    System.out.print(" X 8 + ");
    System.out.print(i);
    System.out.print(" = ");

    //打印结果
    for (int k = 9; k > 9-i; k--)
    {
    System.out.print(k);
    }

    System.out.println();
    }
    }
    }
      

  9.   

    有点傻了,中间可以缩短一点System.out.print(" X 8 + " + i + " = ")