英语语言计算器[java]

英语语言计算器[java],java,Java,创建执行以下操作的java程序: a) 从键盘读取三个输入 •两个输入数字,每个数字为一位数字(0…9) •一个字符表示五种运算之一:+(加法)、-(减法)、*(乘法)、/(除法)和^(指数运算) b) 以纯英语输出操作说明以及数字结果 import java.util.Scanner; public class EnglishCalc { public static void main(String[] args) { Scanner i

创建执行以下操作的java程序:

a) 从键盘读取三个输入

•两个输入数字,每个数字为一位数字(0…9)

•一个字符表示五种运算之一:+(加法)、-(减法)、*(乘法)、/(除法)和^(指数运算)

b) 以纯英语输出操作说明以及数字结果

import java.util.Scanner;

public class EnglishCalc {

       public static void main(String[] args)
       {
            Scanner input = new Scanner(System.in);

            System.out.println("Enter first number");
            int number1 = input.nextInt();          

            System.out.println("Enter second number");
            int number2 = input.nextInt();

            System.out.println("Enter operation: +,-,*,/,^");
            String operation = input.next();

            int output = 0;

           if(number1 < 0 || number1 > 9 || number2 < 0 || number2 > 9) {
                System.out.println("Number should be between 0 and 10");
           } 
              else if (operation.equals("+"))
           {
               output = number1 + number2;
               System.out.println("Sum of "+number1+" and "+number2+" is: " +output);
           }
               else if (operation.equals("-"))
           {
               output = number1 - number2;
               System.out.println("Subtraction of "+number2+" from "+number1+" is: " +output);
           }
               else if (operation.equals("*"))
           {   
              output = number1 * number2;
              System.out.println("Product of "+number1+" and "+number2+" is: " +output);
           }
               else if (operation.equals("/"))
           {
               if(number2 == 0) {
                   System.out.println("You cannot divide by 0");
                } else {
                output = number1/number2;
                System.out.println("Division of "+number1+" by "+number2+" is: " +output);
                }
           }
               else if(operation.equals('^'))
           {
                output = Math.pow((double)number1 , (double)number2);
                System.out.println("Value of "+num1+" raised to power of "+num2+" is: " +output);
           } else {
               System.out.println("Invalid input");
           }
    }
}
import java.util.Scanner;
公共英语课{
公共静态void main(字符串[]args)
{
扫描仪输入=新扫描仪(System.in);
System.out.println(“输入第一个数字”);
int number1=input.nextInt();
System.out.println(“输入第二个数字”);
int number2=input.nextInt();
System.out.println(“输入操作:+,-,*,/,^”);
字符串操作=input.next();
int输出=0;
如果(数字1<0 | |数字1>9 | |数字2<0 | |数字2>9){
System.out.println(“数字应介于0和10之间”);
} 
else if(运算.等于(“+”))
{
输出=number1+number2;
System.out.println(“+number1+”和“+number2+”之和为:“+output”);
}
else if(运算.等于(“-”)
{
输出=编号1-编号2;
System.out.println(“从“+number1+”减去“+number2+”即为“+output”);
}
else if(运算.等于(“*”))
{   
输出=number1*number2;
System.out.println(“+number1+”和+number2+的乘积为:“+output”);
}
else if(操作.等于(“/”)
{
如果(数字2==0){
System.out.println(“不能除以0”);
}否则{
输出=number1/number2;
System.out.println(“将“+number1+”除以“+number2+”即为“+output”);
}
}
else if(operation.equals('^'))
{
输出=数学功率((双)数字1,(双)数字2);
System.out.println(“将“+num1+”的值提升到“+num2+”的幂次为:“+output”);
}否则{
System.out.println(“无效输入”);
}
}
}
战俘。我试过了,但没用。如果我不施法,它将不接受int。必须是double。

使用

s1.equals(s2)
要比较字符串,而不是使用:

s1 == s2
之所以会出现这种情况,是因为
==
用于比较对象引用(如果对象是同一个对象),因此它不会比较该对象的“contain”(在本例中是字符串)

编辑

要在“字”中打印每个数字,可以使用数组:

String[] numbers = {"zero", "one", "two", ... };
然后将其用作:

System.out.println(numbers[2] + " plus " + numbers[5] + ...);
使用

要比较字符串,而不是使用:

s1 == s2
之所以会出现这种情况,是因为
==
用于比较对象引用(如果对象是同一个对象),因此它不会比较该对象的“contain”(在本例中是字符串)

编辑

要在“字”中打印每个数字,可以使用数组:

String[] numbers = {"zero", "one", "two", ... };
然后将其用作:

System.out.println(numbers[2] + " plus " + numbers[5] + ...);
使用

要比较字符串,而不是使用:

s1 == s2
之所以会出现这种情况,是因为
==
用于比较对象引用(如果对象是同一个对象),因此它不会比较该对象的“contain”(在本例中是字符串)

编辑

要在“字”中打印每个数字,可以使用数组:

String[] numbers = {"zero", "one", "two", ... };
然后将其用作:

System.out.println(numbers[2] + " plus " + numbers[5] + ...);
使用

要比较字符串,而不是使用:

s1 == s2
之所以会出现这种情况,是因为
==
用于比较对象引用(如果对象是同一个对象),因此它不会比较该对象的“contain”(在本例中是字符串)

编辑

要在“字”中打印每个数字,可以使用数组:

String[] numbers = {"zero", "one", "two", ... };
然后将其用作:

System.out.println(numbers[2] + " plus " + numbers[5] + ...);


非常感谢。我犯了这么愚蠢的错误;/。另一个问题是如何让它用文字打印数字。例如,5*3=应打印“5乘以3等于15”。此处不能使用数组。教授让我们用另一种方法来做,不使用数组?真正地除了硬编码,我看不到其他方法,这会很糟糕。christian,对不起,最后一个问题是我用math.pow来表示幂函数。它要求一个双精度,但我在这里使用int。这个问题的解决方案是什么?我已经试过了,它会自动将
int
转换为
double
,但是你可以手动执行:Math.pow((double)number,2);非常感谢。我犯了这么愚蠢的错误;/。另一个问题是如何让它用文字打印数字。例如,5*3=应打印“5乘以3等于15”。此处不能使用数组。教授让我们用另一种方法来做,不使用数组?真正地除了硬编码,我看不到其他方法,这会很糟糕。christian,对不起,最后一个问题是我用math.pow来表示幂函数。它要求一个双精度,但我在这里使用int。这个问题的解决方案是什么?我已经试过了,它会自动将
int
转换为
double
,但是你可以手动执行:Math.pow((double)number,2);非常感谢。我犯了这么愚蠢的错误;/。另一个问题是如何让它用文字打印数字。例如,5*3=应打印“5乘以3等于15”。此处不能使用数组。教授让我们用另一种方法来做,不使用数组?真正地除了硬编码,我看不到其他方法,这会很糟糕。christian,对不起,最后一个问题是我用math.pow来表示幂函数。它要求一个双精度,但我在这里使用int。这个问题的解决方案是什么?我已经试过了,它会自动将
int
转换为
double
,但是你可以手动执行:Math.pow((double)number,2);非常感谢。我犯了这么愚蠢的错误;/。另一个问题是如何让它用文字打印数字。例如5*3=它应该打印“五”