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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字,由键盘输入。
         *         例如5+55+555+5555+55555(此时共有5个数相加),a的值为几就有几个数相加。

4 个回复

倒序浏览
我就大概知道用递归,
回复 使用道具 举报
利用StringBuilder吧
回复 使用道具 举报
我有答案要不要给你
回复 使用道具 举报
照着要求写了一下,自测可行,方法较复杂感觉可以优化
public class Test1 {
        public static void main(String[] args) throws IOException {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入数字");
                String num = sc.nextLine();
                System.out.println("请输入最长的长度");
                int length = sc.nextInt();
                int sum = get(num,length);
                System.out.println(sum);
        }

        private static int get(String num, int length) {
                String line ="";
                int sum = 0;
                StringBuffer sb = new StringBuffer();
                for(int i = 0;i<length;i++){
                        line = line+ num;
                        sb.append(line+",");
                }
                String[] strs = sb.toString().split(",");
                for (String string : strs) {
                        sum = sum + Integer.parseInt(string);
                }
                return sum;
        }
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马