求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。
例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
package com.date808;
import java.util.Arrays;
import java.util.Scanner;
/**
* @apiNote 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
* 例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
*/
public class CalculateNumber {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String numebr;
String times;
try {
System.out.println("请输入你要计算的a:");
numebr = scanner.nextLine();
System.out.println("请输入要进行累加的个数:");
times = scanner.nextLine();
int value = getValue(numebr, times);
System.out.println(value);
} catch (Exception e) {
e.printStackTrace();
}
}
public static int getValue(String num, String times) {
boolean matches1 = num.matches("[0-9]*");
boolean matches2 = times.matches("[0-9]*");
int result = 0;
if (matches1 && matches2) {
int n = new Integer(num);
int t = new Integer(times);
System.out.println(n + " " + t);
if (t > 0) {
int[] arr = new int[t];
System.out.println(arr.length);
int i = 1;
while (i <= t) {
int temp = 0;
int number = 0;
for (int j = 0; j < i; j++) {
number += n*((int) Math.pow(10, j));
}
temp = temp + number;
arr[i-1] = temp;
i++;
}
System.out.println(Arrays.toString(arr));
for (int a : arr) {
result += a;
}
}
} else {
System.out.println("输入不合法!");
}
return result;
}
}