黑马程序员技术交流社区

标题: 有大神解答下吗,一个人在宿舍没人问,求解答 [打印本页]

作者: gaol    时间: 2016-9-19 22:13
标题: 有大神解答下吗,一个人在宿舍没人问,求解答
题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字,由键盘输入。
         *         例如5+55+555+5555+55555(此时共有5个数相加),a的值为几就有几个数相加。
作者: 细听风语为梧桐    时间: 2016-9-19 22:32
我就大概知道用递归,
作者: 疯狂的麦克斯    时间: 2016-9-19 22:45
利用StringBuilder吧
作者: 疯狂的麦克斯    时间: 2016-9-19 22:46
我有答案要不要给你

作者: 不羁的码农    时间: 2016-9-19 23:25
照着要求写了一下,自测可行,方法较复杂感觉可以优化
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;
        }
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2