原题是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; } } }}