这是注册类,存储为Registration.java。
public class Registration {
int registrationId;
double fees;
int marks;
public void setRegistrationId(int registrationId){
this.registrationId=registrationId;
}
public int getRegistrationId(){
return registrationId;
}
public void setFees(double fees){
this.fees=fees;
}
public double getFees(){
return fees;
}
public void calculateFees(int marks){
int discount=0;
if(marks>=85 && marks<=100)
discount = 12;
else if(marks>=75 && marks<=84)
discount = 7;
else if(marks>=65 && marks<=74)
discount = 0;
else
System.out.println("You have not passed!");
fees = fees-(fees*(discount/100.0));
System.out.println("The discount availed is "+discount+" % and the fees after discount is: "+fees);
}
}
另一个名为DemoReg1.java的类,它承载启动方法。
public class DemoReg1 {
public static void main(String[] args) {
int branchList[]={1001,1002,1003,1004,1005};
double fees[]= {25575,15500,33750,8350,20500};
Registration reg = new Registration();
reg.setRegistrationId(2001);
int branchId=1002;
double fees1=0;
for(int i=0;i<branchList.length;i++)
{
if(branchList[i]==branchId)
{
fees1=fees[i];
reg.setFees(fees1);
System.out.println("The Registration ID is:"+reg.getRegistrationId());
System.out.println("The fees before discount is:"+reg.getFees());
reg.calculateFees(79);
break;
}
}
}
}
我得到的输出是:
The Registration ID is:2001
The fees before discount is:15500.0
The discount availed is 7 % and the fees after discount is: 14415.0
我想添加一个'else'条件,当提供的branchId(局部变量)为1006时,该条件打印出以下语句。
System.out.println("Invalid branch ID");
我应该在代码的哪里添加上面的语句?
谢谢!
最佳答案
如果找到分支,引入一个设置为true的布尔变量,并在循环后检查此布尔变量的值:
boolean branchFound = false;
for(int i=0;i<branchList.length;i++)
{
if(branchList[i]==branchId)
{
branchFound = true;
fees1=fees[i];
reg.setFees(fees1);
System.out.println("The Registration ID is:"+reg.getRegistrationId());
System.out.println("The fees before discount is:"+reg.getFees());
reg.calculateFees(79);
break;
}
}
}
}
if (!branchFound) {
System.out.println("Invalid branch ID");
}
您可能应该引入一个包含branchId和相关费用的类(
BranchIdAndFee
),而不要使用并行数组。而且,您还应该使用Map<Integer, BranchIdAndFee>
以便能够在恒定时间内从分支ID中获取信息,而不必循环。