当前位置: 首页 > 知识库问答 >
问题:

Java-使用变量获取计算结果

危文乐
2023-03-14

如果使用的两个数字和运算符存储在变量中(用户输入),如何返回计算结果。

我正在创建一个简单的计算器,并试图输出“Number”“Operator”“Number2”的答案,根据用户输入的内容,答案可以是任何内容。

int Number;
int Number2;
int Operator;
String OperatorString;

do 
{
    System.out.println("Enter a number");
    Number = UserInputScanner.nextInt();

    System.out.println("1. + \n");
    System.out.println("2. - \n");
    System.out.println("3. * \n");
    System.out.println("4. / \n");

    Operator = UserInputScanner.nextInt(); 

       switch (Operator) {
        case 1:  OperatorString = "+";          
                 break;
        case 2:  OperatorString = "-";
                 break;
        case 3:  OperatorString = "*";
                 break;
        case 4:  OperatorString = "/";
                 break;
        default: OperatorString = "Invalid Operator";
                 break;
    }
    System.out.println(OperatorString);

    System.out.println("Enter another number");
    Number2 = UserInputScanner.nextInt();       

    Answer = "Number" + "OperatorString" + "Number2";
    System.out.println(Number + OperatorString + Number2 + "=" + Answer);

当输入这些数字和运算符时,输出返回“5 5=5 5”,我试图返回“5 5=10”。

共有2个答案

鲜于岳
2023-03-14

在开关块本身计算答案

int Number;
int Number2;
int Operator;
String OperatorString;

do 
{
System.out.println("Enter a number");
Number = UserInputScanner.nextInt();

System.out.println("1. + \n");
System.out.println("2. - \n");
System.out.println("3. * \n");
System.out.println("4. / \n");

Operator = UserInputScanner.nextInt(); 
System.out.println("Enter another number");
Number2 = UserInputScanner.nextInt(); 
   switch (Operator) {
    case 1:  OperatorString = "+"; 
             Answer = Number + Number2;
             break;
    case 2:  OperatorString = "-";
             Answer = Number - Number2;
             break;
    case 3:  OperatorString = "*";
             Answer = Number * Number2;
             break;
    case 4:  OperatorString = "/";
             Answer = Number / Number2;
             break;
    default: OperatorString = "Invalid Operator";
             break;
}
System.out.println(OperatorString);




System.out.println(Number + OperatorString + Number2 + "=" + Answer);
郜玉石
2023-03-14

Java没有提供内置的方法来使用运算符计算字符串表达式以生成结果值,因此您需要另一个开关来计算答案

switch (Operator) {
    case 1:  Answer = Number + Number2;
             break;
    case 2:  Answer = Number - Number2;
             break;
    case 3:  Answer = Number * Number2;
             break;
    case 4:  Answer = Number / Number2;
             break;
    default: Answer = 0;
             break;
}

开关的结构与读取第二个数字之前的结构相同,因此如果在开关之前移动Number2的读数,则可以将两者结合起来。

 类似资料:
  • 问题内容: 我想知道是否有一种方法可以用Java获取计算机名称?我已经看到了该功能的几个答案。但是我想知道是否存在不使用网络的方法? (作为一个附带的问题,计算机名称是否仍然只是一个网络事物,因此必须以这种方式进行??) 问题答案: 操作系统的基础DNS(域名系统)库从IP地址 解析 计算机“名称”。跨操作系统没有通用的计算机名称概念,但DNS通常可用。如果尚未配置计算机名称,以便DNS可以解析它

  • 问题内容: 我有一个学校的作业,任务之一是解释很多小的计算,并解释为什么Java给您输出它给您的输出。 计算之一是: 1 +‘2’+ 3 这对我来说是一个词汇错误,因为老师在我的系统上使用了错误的“撇号”,但是我与其他同学交谈,他们告诉我他们得到了实际的输出,因此我开始阅读并发现了认为它应该表示一个char变量,并且我也了解 了系统的特定类型,所以我更改了符号以使其适用于我的系统,现在我得到了答案

  • 本文向大家介绍Java中final变量使用总结,包括了Java中final变量使用总结的使用技巧和注意事项,需要的朋友参考一下 final关键字可用于变量声明,一旦该变量被设定,就不可以再改变该变量的值。 通常final定义的变量为常量。如: 当在程序中使用PI这个常量时,它的值就是3.14,如在程序中再次对定义为final的常量赋值,编译器将不能接受; final关键字定义的变量必须在声明时对其

  • 我正在为高速公路车队制作一个排名表,我有一个查询,根据车队结果计算所需数据。我正在努力解决的问题是分数差异(得分和对手得分之间的差异)。 所有查询都正常工作,除了 我得到的结果是空的,我猜这很简单,任何帮助都会很好

  • 在我的电脑中,文件。getAbsolutePath()返回D:\Dev\Tool\MessageCompare\MessageCompare\src\main\resources\json\test。json 在其他计算机中,file.getAbsoltePath()返回 D:\Dev\Tool\MessageCompare\src\main\Resources\json\test.json 为什

  • 我面临以下问题:我必须给成千上万的图形用户界面元素命名。如果它能像这样工作,那就太好了: 如果我能将元素的名称设置为“Classname.myMenuItem”,那就太好了。 是否有任何方法来获取变量的名称(变量名称ofc,而不是JMenuItem.getName())?