我的问题出现在if语句中 - 如果变量"小时"大于10,我希望将额外的小时乘以2.00并将结果加9.95,但我在编译时收到错误,我不明白为什么。任何帮助深表感谢。
String choice;
double hours;
Scanner input = new Scanner(System.in);
System.out.print("Enter which package you are using A, B or C? ");
choice = input.nextLine();
choice = choice.toUpperCase();
System.out.print("Enter the amount of hours used: ");
hours = input.nextDouble();
switch ( choice )
{
case "A":
if ( hours > 10 ){
(( hours - 10) * 2 ) + 9.95; << ERROR: Not a statement!
}
else
System.out.println("Total: $9.95");
break;
为了参考,这已被回答并编辑为:
case "A":
if ( hours > 10 ){
total = (( hours - 10) * 2 ) + 9.95; // Initialised to total
System.out.println("Total: $" + total);
}
else
System.out.println("Total: $9.95");
break;
答案 0 :(得分:2)
答案 1 :(得分:1)
您没有将此表达式值(( hours - 10) * 2 ) + 9.95;
设置为任何变量。
将值设置为任何变量,如下所示:
double total = (( hours - 10) * 2 ) + 9.95;
答案 2 :(得分:1)
该行不是Java语句,根据Oracle doc,语句应该是一个完整的执行单元
言
陈述大致相当于自然语言中的句子。一个 声明形成一个完整的执行单元。以下类型 可以通过终止表达式将表达式转换为语句 用分号(;)。
- 作业表达
- 使用++或 -
- 方法调用
- 对象创建表达式
答案 3 :(得分:0)
您必须将结果分配给小时变量,如下所示:
hours = (your expression here);