我的意图错误来自哪里?
问题描述:
我的程序中的所有内容似乎都能正常工作,但出于某些奇怪的原因,无论何时它会到达您选择的输入部分乘法或除法,然后终止程序,就好像它已完成一样。我的意图错误来自哪里?
这是怎么回事?
我试过将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.");
}
}
}
答
.equals(Object obj)
是大小写敏感的,如果你在与它正确运行一个大写字母输入“正片叠底”,“分化”。
使用.equalsIgnoreCase(Object obj)
的串来串比较,不考虑大小写
+0
非常感谢你在这里逗留了两个小时 –
答
我刚才运行你的代码,这一切ok了。这里,输入/输出我:
Input a numerator >>>1
Input a Denominator >>>2
Input a second numerator >>>3
Input a second Denominator >>>4
Your entered fractions are 1.0/2.0 and 3.0/4.0
What would you like to do with these?
Multipy, Divide, Add, or Subtract >>>Multiply
3.0/8.0 Is your answer.
您是否尝试过使用调试器? –
我用eclipse中的一个,它没有找到任何东西 –
我只是将你的代码逐字地放在我的IntelliJ里面的'main()'方法中,它运行良好。如果您有一个样品,请张贴可复制的样品。 –