如何在扫描仪中保存下一个字符串?
How do i save next string in scanner?
我正在制作一个具有 3 个功能的基本计算器。我正在使用扫描仪实用程序来帮助我与计算器进行交互。你输入第一个数字,然后它把它保存到一个变量,你输入第二个数字,它也被保存到一个变量。然后它会问你想用这些数字做什么。您可以在乘法、加法、减法之间进行选择。但其中 none 似乎有效,我不知道为什么,但我猜测问题后插入的字符串未保存,或者我使用了错误的方法。
import java.util.Scanner;
public class MainClass {
private static final String Multiply = null;
private static final String Add = null;
private static final String Subtract = null;
public static void main(String[] args)
{
MainClass mainObject=new MainClass();
mainObject.Calculator();
}
public void Calculator()
{
double firstnumber;
double secondnumber;
double result;
String word1="Multiply";
String word2="Add";
String word3="Subtract";
Scanner scan=new Scanner(System.in);
System.out.println("Enter first number");
firstnumber=scan.nextInt();
System.out.println("Enter second number");
secondnumber=scan.nextInt();
System.out.println("What do you want to do?");
String operator=scan.next();
if(operator==word1)
{
result=firstnumber*secondnumber;
System.out.println(result);
}
else if(operator==word2)
{
result=firstnumber+secondnumber;
System.out.println(result);
}
else if(operator==word3)
{
result=firstnumber-secondnumber;
System.out.println(result);
}
}
}
字符串之间的比较操作不是==
而是equals()
方法:
if(operator.equals("add"))
...
else if (operator.equals("subtract"))
...
else if (operator.equals("multiply"))
...
else
wrong input
我正在制作一个具有 3 个功能的基本计算器。我正在使用扫描仪实用程序来帮助我与计算器进行交互。你输入第一个数字,然后它把它保存到一个变量,你输入第二个数字,它也被保存到一个变量。然后它会问你想用这些数字做什么。您可以在乘法、加法、减法之间进行选择。但其中 none 似乎有效,我不知道为什么,但我猜测问题后插入的字符串未保存,或者我使用了错误的方法。
import java.util.Scanner;
public class MainClass {
private static final String Multiply = null;
private static final String Add = null;
private static final String Subtract = null;
public static void main(String[] args)
{
MainClass mainObject=new MainClass();
mainObject.Calculator();
}
public void Calculator()
{
double firstnumber;
double secondnumber;
double result;
String word1="Multiply";
String word2="Add";
String word3="Subtract";
Scanner scan=new Scanner(System.in);
System.out.println("Enter first number");
firstnumber=scan.nextInt();
System.out.println("Enter second number");
secondnumber=scan.nextInt();
System.out.println("What do you want to do?");
String operator=scan.next();
if(operator==word1)
{
result=firstnumber*secondnumber;
System.out.println(result);
}
else if(operator==word2)
{
result=firstnumber+secondnumber;
System.out.println(result);
}
else if(operator==word3)
{
result=firstnumber-secondnumber;
System.out.println(result);
}
}
}
字符串之间的比较操作不是==
而是equals()
方法:
if(operator.equals("add"))
...
else if (operator.equals("subtract"))
...
else if (operator.equals("multiply"))
...
else
wrong input