Javaにて、整数の入力ができません。
入力された整数を計算する簡単なプログラムです。
文字入力をする「input」という関数を定義していますが、
以下のようなエラーメッセージが表示されてしまいます。
どのように修正すればよいでしょうか?
java
1package helloworld; 2 3public class JavaFundamental3_2 4{ 5 6 public static void main(String[] args) 7 { 8 // TODO Auto-generated method stub 9 char x; 10 int a,b,c; 11 long d; 12 double e; 13 System.out.print("整数(1~32767)a=?"); 14 a=(int) input(); 15 System.out.print("整数(1~32767)b=?"); 16 b=(int) input(); 17 if( a>32767 || a<0 || b>32767 || b<0) 18 { 19 System.out.print("範囲外数値入力!\n"); 20 System.exit(1); 21 } 22 System.out.print("+,-,*,/記号(どれか1個)入力=?"); 23 x=(char)input(); 24 System.in.read(); 25 if(x!='+' && x!='-'&& x!='*' && x!='/') 26 { 27 System.out.print("指定記号外入力!\n"); 28 System.exit(1); 29 } 30 switch(x) 31 { 32 case 'x':d=(long)a+b; 33 System.out.println(a+""+x+""+b+"="+d); 34 break; 35 case '-':c=a-b; 36 System.out.println(a+""+x+""+b+"="+c); 37 break; 38 case '*':d=(long)a*b; 39 System.out.println(a+""+x+""+b+"="+d); 40 break; 41 default: e=(double)a/b; 42 System.out.println(a+""+x+""+b+"="+e); 43 break; 44 } 45 } 46 47 static int input() throws Exception{ 48 int x,y; 49 String s = new String(); 50 while((x=System.in.read())!=13) 51 s+=(char)x; 52 y=Integer.parseInt(s);//引数の文字列をint型で返す 53 return y; 54 } 55 56 57} 58
Error
1Exception in thread "main" java.lang.Error: Unresolved compilation problems: 2 Unhandled exception type Exception 3 Unhandled exception type Exception 4 Unhandled exception type Exception 5 Unhandled exception type IOException 6 7 at helloworld.JavaFundamental3_2.main(JavaFundamental3_2.java:14)
回答1件
あなたの回答
tips
プレビュー