代码实现:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字

import java.util.Scanner;

/*题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
 例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。 
 程序分析:关键是计算出每一项的值。*/

public class Test08 {

	public static void main(String[] args) {
		System.out.print("请输入a:");
		int a = inNumber();
		System.out.print("请输入b:");
		int b = inNumber();
		int num = 0;
		for (int i = 1; i <= b; i++) {
			num = num + a;
			a = a * 10 + a % 10;
		}
		System.out.println(num);
	}

	public static int inNumber() {
		Scanner sc = new Scanner(System.in);
		int n = 0;

		while (true) {
			String s = sc.nextLine();
			String regex = "\\d+";
			if (s.matches(regex)) {
				n = Integer.parseInt(s);
				if(n<10 && n>0){
					break;
				}else{
					System.out.print("请重新输入:");
				}
			} else {
				System.out.print("请重新输入:");
			}
		}
		return n;
	}
}

 

posted on 2017-03-09 19:32  LoaderMan  阅读(1073)  评论(0编辑  收藏  举报

导航