Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我的条件不符合';不工作,我';我是一个初级程序员_Java_Operators_Conditional - Fatal编程技术网

Java 我的条件不符合';不工作,我';我是一个初级程序员

Java 我的条件不符合';不工作,我';我是一个初级程序员,java,operators,conditional,Java,Operators,Conditional,这就是我要做的,我的目标是得到三明治的数量,然后乘以它;当数字是2或更低时,她说的一件事是3或更高。问题是它要求我将变量初始化为0,但显然d*0仍然是零 double a = 10;// the 10 dollars to spend double b = 0;// the cost of he food double c;// final total double d;// amount of sandwiches c = a-b; String Order; Scanner sc = new

这就是我要做的,我的目标是得到三明治的数量,然后乘以它;当数字是2或更低时,她说的一件事是3或更高。问题是它要求我将变量初始化为0,但显然d*0仍然是零

double a = 10;// the 10 dollars to spend
double b = 0;// the cost of he food
double c;// final total
double d;// amount of sandwiches
c = a-b;
String Order;
Scanner sc = new Scanner(System.in);
System.out.println(“那将是1.06,您想要多少?”;
b=1.06*d;
d=sc.nextDouble();
System.out.println(d问题在于:

System.out.println("That'll be 1.06 how many would you like?");
b = 1.06*d;
d = sc.nextDouble();
System.out.println(d <= 2 ?"Ok! Coming right up Sir!":"...Ok.... she     probably thinks you're a fatso now.");
System.out.println("She hands you back "+(a-b)+" as your change");
break;
您尚未初始化
d
,因此,当您进行乘法运算时,您不会进行任何乘法运算。在乘法
b
之前,您需要将扫描仪的值加载到
d

System.out.println("That'll be 1.06 how many would you like?");
b = 1.06*d;
d = sc.nextDouble();

交换作业的顺序

System.out.println("That'll be 1.06 how many would you like?");
d = sc.nextDouble();
b = 1.06*d;

此外,您应该选择更有意义的变量名称。

我知道这是一个示例问题,但请为您的变量提供一些有意义的名称,以便与注释一起使用。.您可以选择b而不是b(双倍成本;)为什么你要先计算总和,然后再问有多少个汉堡?在现实世界中,我们也会这样做,反之亦然。我过去经常教新手编程。我必须理解的一个基本想法是,即使计算机速度如此之快,以至于它们似乎能一次完成所有事情,但它们却不能。它们按顺序完成步骤,一次一个,而且它们必须完成ea在他们开始下一个问题之前,先做一个。另外,他们也不知道你想做什么。他们只是按照要求去做,即使你不知道该让他们做什么。别担心。一定要选择一个回答你问题的帖子来奖励回答者。
b = 1.06*d; // <-- what's d?
d = sc.nextDouble();
d = sc.nextDouble();
b = 1.06 * d;