Java经典算法:for循环我这样子理解的思路对不对?

求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。

比如我让2循环3次。

public static void 程序8() {                      
            System.out.println("请输入一个数字:  ");           
            Scanner o= new Scanner(System.in);           
            int a=o.nextInt();
            System.out.println("循环多少次?:  ");
            int b=o.nextInt();
            int news=0;
            int jieguo=0;               
            for(int i=0;i<b;i++) {                       
                news=news*10+a;                        
                jieguo=news+jieguo;                 
                System.out.println("结果是"+news+"    "+jieguo);
            }
            }

图片说明

for循环里面的,i<b的意思是i如果小于控制台b输入的值循环次数则一直循环 ,news的值一开始是0,所以0*10=0,news加了a(数值是2)之后则是2,jieguo这里就是news(2)+jieguo(0)=2,第一次循环结束。
第二次循环开始后继承了第一次循环的值,也就是news(2)*10+a=22.
jieguo这里意思就是news(22)+jieguo(2)=24,第二次循环结束。
第三次循环继承了第二次循环的值,也就是news(22)*10+a=224.
jieguo这里意思就是news(224)+jieguo(22)=246.至此循环结束出来结果。

不知道这样子理解对不对呢???刚开始学习编程,
可能数学逻辑厉害的人一下子就想通了吧 像我数学逻辑很差的光是理解这两句代码的意思花了2个多小时才琢磨出来,太失败了~

理解的慢不是数学逻辑差,是对数据存储形式,以及变量间赋值方式不清楚导致的

理解的没什么大问题,多学学,多练练,加油