我被困在Java的作业中。有人能帮我吗
我已经完成了大多数代码,但现在我被困在如何使用布尔值来决定客户是否有资格享受折扣我被困在Java的作业中。有人能帮我吗,java,Java,我已经完成了大多数代码,但现在我被困在如何使用布尔值来决定客户是否有资格享受折扣 System.out.print("Enter invoice number: "); int invoiceNum = console.nextInt(); System.out.print("Enter first name: "); String firstName = console.next(); System.out.p
System.out.print("Enter invoice number: ");
int invoiceNum = console.nextInt();
System.out.print("Enter first name: ");
String firstName = console.next();
System.out.print("Enter last name: ");
String lastName = console.next();
System.out.println("Is the customer qualified for a discount? (Y or N): ");
String qualified = console.next();
System.out.print("Enter discount rate ( ex. 12 for 12%): ");
double discountRate = console.nextDouble();
return new Service(invoiceNum, firstName,lastName, true/*???*/, discountRate);
我应该如何连接这两个部分,以便使用Y或N来决定它??
下面是我的作业图片:``
你可以试试
boolean isQualified=qualified.toLowerCase().equals(“y”)
编辑:
正如@user85421在评论中所建议的,另一种更好的方法是
boolean isQualified=qualified.equalsIgnoreCase(“y”)
根据您的问题陈述,服务类应该包括数据成员的getter和setter方法。折扣资格的状态应该是服务类中的布尔变量。
因此,从控制台读取输入后,可以使用下面的代码将值设置为布尔变量
String discountStatus = sc.next();
setQualified(status.equalsIgnoreCase("Y"));
现在在calculateCost()方法中,调用基类方法isQualified()来计算条件
if(isQualified()){
// business logic
}
你说你需要一个布尔值,那么为什么
是限定的
字符串呢?它不应该是布尔类型吗?这能回答你的问题吗?注意:请注意,如果引入了nextLine()
,equalsIgnoreCase
将更合适
if(isQualified()){
// business logic
}