黑马程序员技术交流社区
标题:
编程题
[打印本页]
作者:
轩辕邵宇
时间:
2014-11-19 00:04
标题:
编程题
求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
作者:
十万一千
时间:
2014-11-19 11:32
本帖最后由 十万一千 于 2014-11-19 16:25 编辑
public static void main(String[] args) {
try (BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));) {
System.out.println("请输入[1-9]的整数:");
Integer max = new Integer(bufferedReader.readLine());
if (max >= 1 && max <= 9) {
Integer sum = 0;
StringBuilder stringBuilder = new StringBuilder();
String baseNumber = "2";
for (int i = 0; i < max; i++) {
Integer tmp = new Integer(stringBuilder.append(baseNumber).toString());
if (i == max - 1) {
System.out.print(tmp + "=");
} else {
System.out.print(tmp + "+");
}
sum += tmp;
}
System.out.println(sum);
} else {
throw new RuntimeException("输入数值过大");
}
} catch (NumberFormatException | IOException e) {
System.out.println("输入错误!");
}
}
复制代码
作者:
李运岚
时间:
2014-11-19 13:06
说一下基本思想吧,第一个是2,第二个是22=2+2*10,第三个222=22+2*100,第四个2222=222+2*1000,依此类推
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2