2016-11-19 42 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)讀取char – 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