A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

题目和代码如下:
/*
*题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
程序分析:        关键是计算出每一项的值,从大到小可以用/10来取得这样先求出最大的
                        数就可以求出所有的数。
*/
import java.util.Scanner;

class Game {
        public static void main (String[] args) {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入一个数字");
                int a = sc.nextInt();
                System.out.println("几个数字相加?");
                int b = sc.nextInt();
                int max = 0;     
                int sum = 0;       
                for (int j = 0 ;j < b ; j++ ) {
                        max += a*(int)Math.pow(10,j);        //通过循环 求出了最大的一个数       
                }
                for (int i = 0 ;i < b ; i++ ) {
                        sum += max/(int)Math.pow(10,i);  //最大的数不断除10求出次大的数,然后累加给sum
                }
                System.out.println(sum);
        }       
}

同学说用String来实现但是不会, 这个和那个方法比较哪个比较好呢?

1 个回复

倒序浏览
学习了~~~~~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马