【问题标题】:Are the math operators +,-,*,/ strings, floats or integers?(Java)数学运算符 +、-、*、/ 是字符串、浮点数还是整数?(Java)
【发布时间】:2016-08-17 09:56:33
【问题描述】:

我是 java 新手,我正在尝试制作一个程序,它要求输入 2 个整数,然后要求计算结果的运算符。到目前为止,我已经可以得到整数,但是我在操作符上遇到了麻烦,因为我不知道它们属于什么类别。

    import java.util.Scanner;
    public class three {
    private static Scanner in;
              public static void main(String[] args) {
          int a;
          int b;
          String c;
         in = new Scanner(System.in);
         System.out.println("Enter an integer");  
         a = in.nextInt();
         System.out.println("Enter another integer");
         b = in.nextInt();
         System.out.println("Press +, -, * or /");
         c = in.nextLine();
     System.out.println(c);
 }

 }

【问题讨论】:

    标签: java operators


    【解决方案1】:

    我已经可以得到整数,但是我遇到了问题 运营商,因为我不知道他们属于哪个类别

    它们不属于这些。它们是编程语言的一部分,而不是数据类型。数据类型和运算符一起执行一些操作,例如

    int a, b;
    int c = a + b;
    

    即使您可以将该运算符设为String,但在用户输入后,您必须执行检查以决定该操作。

    if("+".equals(userInput) {// "+" is String
      int c = a + b;
    }
    

    正如TheLostMind 在评论中提到的,要检查用户输入,您应该使用switch 大小写。

    【讨论】:

    • 我会使用switch 作为运营商.. :)
    • @TheLostMind 当然可以。!我也强烈建议这样做。
    • 开关是坏的和有害的......作为初学者,你可以使用它,但在某些时候,转向模式,更精确,命令模式......
    • 是的,我只是使用 if 语句来完成它。不过,谢谢!
    【解决方案2】:

    它们实际上是方法(尽管由于是运算符而允许使用一些“特殊”语法)。例如,您可以轻松地将2 + 2 替换为某个函数plus(2, 2),它们将具有相同的含义。

    从数学的角度想一想——+怎么可能是一个数字?它应该是哪个数字?你会数“1, 2, +, 4, -, 5...”吗?既然如此,显然它不是浮点数或整数。

    【讨论】:

      猜你喜欢
      • 2018-03-20
      • 2022-01-10
      • 2010-09-09
      • 1970-01-01
      • 2019-10-05
      • 1970-01-01
      • 1970-01-01
      • 2019-09-02
      相关资源
      最近更新 更多