2016-11-19 4 views
0

最近私はjavaを学び始めましたが、電卓をプログラムしようとしましたが、エラーが出ます(なぜそれが起こるのかわかりません)。私のJava計算機のヘルプが必要

PS:申し訳ありませんが、私の悪い英語

package pkg2; 

import java.util.Scanner; 

public class Main { 
    public static void main(String[] args) { 
     Scanner reader = new Scanner(System.in); 
     System.out.println("Write a number: "); 
     int first = reader.nextInt(); 
     System.out.println("Write another number: "); 
     int second = reader.nextInt(); 
     System.out.println("Write an operator: "); 
     char operator = reader.nextInt(); 
     if(operator == '+') { 
      System.out.println(first + second); 
     } 
     else if(operator == '-') { 
      System.out.println(first - second); 
     } 
     else if(operator == '*') { 
      System.out.println(first * second); 
     } 
     else if(operator == '/') { 
      System.out.println(first/second); 
     } 
    } 
} 

のためにエラーがある:

enter image description here

+2

**何かエラーがありますか?これはあなたの質問の中で最も重要な部分です。欠けています。 –

+2

reader.next()を使用してください。charAt(0)を読み取るための文字 – piyushj

+0

申し訳ありませんが、私はすでに投稿を編集しました – FRP7

答えて

3

あなたはオペレータの入力を要求するとき、あなたはCHARではなく、int型を読み取ろうとしています。どうすればいいですか?

package pkg2; 

import java.util.Scanner; 

public class Main { 
    public static void main(String[] args) { 
     Scanner reader = new Scanner(System.in); 
     System.out.println("Write a number: "); 
     int first = reader.nextInt(); 
     System.out.println("Write another number: "); 
     int second = reader.nextInt(); 
     System.out.println("Write an operator: "); 
     char operator = reader.next().charAt(0); 
     if(operator == '+') { 
      System.out.println(first + second); 
     } 
     else if(operator == '-') { 
      System.out.println(first - second); 
     } 
     else if(operator == '*') { 
      System.out.println(first * second); 
     } 
     else if(operator == '/') { 
      System.out.println(first/second); 
     } 
    } 
} 
+0

それは働いている!ありがとう! – FRP7