Java,减去双精度数据类型
我正在做一个简单的计算。在最后的if-else语句中,我不知道如何减去双重许可价格 它指向减法符号,给了我这个错误信息: 运算符-不能应用于java.lang.String,双精度 请帮忙。谢谢 您需要添加以修复优先级,否则,正如错误所示,您将不是从admissionPrice中减去,而是从以下字符串中减去:…:+admissionPrice在admissionPrice-admissionPrice*0.15周围加上括号。现在,它将折扣15%后的admissionPrice连接到总价上,即:在尝试减法之前。println语句中的+运算符优先,并将admissionPrice转换为字符串Java,减去双精度数据类型,java,double,subtraction,Java,Double,Subtraction,我正在做一个简单的计算。在最后的if-else语句中,我不知道如何减去双重许可价格 它指向减法符号,给了我这个错误信息: 运算符-不能应用于java.lang.String,双精度 请帮忙。谢谢 您需要添加以修复优先级,否则,正如错误所示,您将不是从admissionPrice中减去,而是从以下字符串中减去:…:+admissionPrice在admissionPrice-admissionPrice*0.15周围加上括号。现在,它将折扣15%后的admissionPrice连接到总价上,即:在
把你的算术运算放在括号里。你可以用around来避免这个admissionPrice-admissionPrice*0.15。试着把整个数字表达式用括号括起来:admissionPrice-admissionPrice*0.15我不明白这里的反对票,对我来说没有任何意义。
import java.text.*;
import java.util.Scanner;
class IMC {
public static void main(String[] args) {
int numEmployees = 0;
double costPerAttendee = 0.00;
int employeeDiscount;
double admissionPrice = 0.00;
Scanner keyboard = new Scanner (System.in);
System.out.print("Enter amount of employees attending: ");
numEmployees = keyboard.nextInt();
System.out.print("Have any employees attended previously? \n For: YES=1 or NO=2"
);
employeeDiscount = keyboard.nextInt();
if (numEmployees == 1) { admissionPrice = 695.00;
} else if (numEmployees == 2 || numEmployees == 3 ||numEmployees == 4) { admissionPrice = 545.00;
} else if (numEmployees >= 5 ||numEmployees >= 6 ||numEmployees >= 7 ||numEmployees >= 8){ admissionPrice = 480.00;
} else if (numEmployees >= 9) { admissionPrice = 395.00;
}
System.out.print("The cost per attendee is: " + admissionPrice );
if (employeeDiscount == 1){
System.out.print("Total price after discount (15%) is : " + admissionPrice - (admissionPrice * 0.15) );
} else if (employeeDiscount == 2) {
System.out.print("No discount. Total price is still: " + admissionPrice);
}
}
}
System.out.print("Total price after discount (15%) is : " + (admissionPrice - (admissionPrice * 0.15)));
^ ^