java的一个异常问题

低眉人 2019-07-28 08:38:05
原题是pta上的一个习题,做的时候碰到了一个问题,目前自学java,碰到了这种异常,想问问大佬们是怎么回事,该怎么办(ฅ•﹏•ฅ) 输入
1234567890987654321123456789
Exception in thread "main" java.lang.NumberFormatException: For input string: "1234567890987654321123456789"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at 作业.NO2.main(NO2.java:15) 具体代码如下: public class NO2 { public static void main(String[] args) throws IOException { // TODO Auto-generated method stub System.out.println("输入"); BufferedReader br= new BufferedReader(new InputStreamReader(System.in)); String input=br.readLine(); long n=Integer.parseInt(input); long sum=0; while(n!=0){ long num=n%10; n=n/10; sum=sum+num; } //System.out.println(sum); int []list =new int[40]; for(int i=0;i<list.length;i++){ list[i]=(int) (sum%10); sum=sum/10; if(sum<10){ list[i+1]=(int) sum; break; } } for(int i=6;i>=0;i--){ switch(list[i]){ case(1):if(list[i+1]!=0)System.out.print(" ");System.out.print("yi");break; case(2):if(list[i+1]!=0)System.out.print(" ");System.out.print("er");break; case(3):if(list[i+1]!=0)System.out.print(" ");System.out.print("san");break; case(4):if(list[i+1]!=0)System.out.print(" ");System.out.print("si");break; case(5):if(list[i+1]!=0)System.out.print(" ");System.out.print("wu");break; case(6):if(list[i+1]!=0)System.out.print(" ");System.out.print("liu");break; case(7):if(list[i+1]!=0)System.out.print(" ");System.out.print("qi");break; case(8):if(list[i+1]!=0)System.out.print(" ");System.out.print("ba");break; case(9):if(list[i+1]!=0)System.out.print(" ");System.out.print("jiu");break; case(0):if(list[i+1]!=0)System.out.print(" "); if(i!=6 && list[i-1]!=0 && list[i+1]!=0){ System.out.print("ling");}break; } } }}
...全文
169 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
knightshou 2019-09-12
  • 打赏
  • 举报
回复
看代码 貌似想要达到的目的就是翻译 你不需要这样用 int 直接string 然后用length 控制循环 找 charAt() 然后翻译
knightshou 2019-09-12
  • 打赏
  • 举报
回复
bigint? 再不行 用float?
低眉人 2019-09-11
  • 打赏
  • 举报
回复
引用 2 楼 K G的回复:
你这是解决什么问题输这么大数字,准备计算天体运行,还是计算天体质量
想问问怎么解决,这是pta的一个问题
CRUD_CODER_LIN 2019-08-06
  • 打赏
  • 举报
回复
超过int的限制位数了啦
K G 2019-08-05
  • 打赏
  • 举报
回复
你这是解决什么问题输这么大数字,准备计算天体运行,还是计算天体质量
K G 2019-08-05
  • 打赏
  • 举报
回复
你这个数字至少有是个20位数,不报错才怪

6,129

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 新技术前沿
社区管理员
  • 新技术前沿社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧