class Test {
public static void main(String[] args){
//封装键盘录入
Scanner sc = new Scanner(System.in);
//接收键盘输入
System.out.println("请输入要相加的数");
int a = sc.nextInt();
System.out.println("请输入要相加的项");
int b = sc.nextInt();
//调用方法
System.out.println(getSum(a,b));
}
// 定义一个类 实现功能
public static int getSum(int x , int y){
int sum = 0;
//转换为字符数组
String[] arr = new String[y];
arr[0] = x+"";
//为了防止角标越界 从1开始
for(int i = 1; i < y; i++){
arr = x+arr;
}
//求数组的和 遍历数组
for(int z = 0 ; z < arr.length; z++){
//将字符数组转为数字数组
sum += Integer.parseInt(arr[z]);
}
//返回数组的和
return sum;
}
}
先把键盘录入的数字转为字符数组 然后再转为int数组 最后求和 为什么提示(sum += Integer.parseInt(arr[z]);)当应用程序试图将字符串转换成一种数值类型,但该字符串不能转换适当格式时,抛出该异常。 是什么原因呢?
s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制
就这个题
|
|