2016-11-19 61 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