A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 徐文豪 中级黑马   /  2015-6-11 11:13  /  275 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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个数相加),几个数相加有键盘控制
就这个题


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马