java我的意图错误来自哪里?
我的程序中的一切似乎都很正常,但出于某种奇怪的原因,每当它到达输入部分,在输入部分选择乘法或除法时,它就会终止程序,就像它已经完成一样
这个怎么了
我尝试过改变if(Choice.equals(Multiply))
到“Multiply
”,另一个也一样
但是没有运气
这是我的代码:
import java.util.Scanner;
public class APJAVAPROGRAM {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner numberinput = new Scanner(System.in);
Scanner stringinput = new Scanner(System.in);
System.out.print("Input a numerator >>>"); // inputs first Numerator
double Numerator = numberinput.nextDouble();
System.out.print("Input a Denominator >>>"); // Inputs first denominator
double Denominator = numberinput.nextDouble();
System.out.print("Input a second numerator >>>"); //Inputs second Numerator
double Numerator2 = numberinput.nextDouble();
System.out.print("Input a second Denominator >>>"); // Inputs second denominator
double Denominator2 = numberinput.nextDouble();
System.out.println("Your entered fractions are " + Numerator + "/" + Denominator + " and "+ Numerator2 + "/" + Denominator2);
// Will print out the entered fractions
System.out.println("What would you like to do with these?"); //asks user what should be done
System.out.print("Multipy, Divide, Add, or Subtract >>>");
String Choice = stringinput.nextLine();
double Multiply = Numerator * Numerator2;
double Multiply2 = Denominator * Denominator2;
if(Choice.equals("Multiply"))
{
System.out.println(Multiply + "/" + Multiply2 + " Is your answer.");
// If the input is multiply it will do as such
}
else
{
double Divide = Numerator * Denominator2;
double Divide2 = Numerator2 * Denominator;
if(Choice.equals("Divide"))
System.out.println(Divide + "/" + Divide2 + " Is your answer.");
}
}
}
# 1 楼答案
我刚刚运行了你的代码,没关系。这里是我得到的输入/输出:
# 2 楼答案
.equals(Object obj)
是区分大小写的,如果您用大写字母键入“乘法”或“除法”,它将正确运行使用
.equalsIgnoreCase(Object obj)
进行字符串到字符串的比较,忽略大小写注意事项