如何在不重复的情况下将此代码简化为最简单的形式?只使用简单的if / else语句,因为这是我的编程入门类
if (Character.toUpperCase(choosePassOverPed) == 'Y'){
passengerPoints = passengerPoints + toughCallThresholdPoints;
if (passengerPoints > pedestrianPoints){
System.out.println("Fatality Group: PEDESTRIANS");
System.out.printf("Number of adult fatalities: %d%n", numAdultPedestrians);
System.out.printf("Number of child fatalities: %d%n", numChildPedestrians);
}
else{
System.out.println("Fatality Group: OCCUPANTS");
System.out.printf("Number of adult fatalities: %d%n", numAdultPassengers);
System.out.printf("Number of child fatalities: %d%n", numChildPassengers);
}
}
else{
pedestrianPoints = pedestrianPoints + toughCallThresholdPoints;
if (passengerPoints > pedestrianPoints){
System.out.println("Fatality Group: PEDESTRIANS");
System.out.printf("Number of adult fatalities: %d%n", numAdultPedestrians);
System.out.printf("Number of child fatalities: %d%n", numChildPedestrians);
}
else{
System.out.println("Fatality Group: OCCUPANTS");
System.out.printf("Number of adult fatalities: %d%n", numAdultPassengers);
System.out.printf("Number of child fatalities: %d%n", numChildPassengers);
答案 0 :(得分:2)
简单。
使用一个的printf
集合,只需在if / else分支中设置您填写的变量。
在您的代码示例中,ifs甚至不做任何事情,只更改打印的第一行。
答案 1 :(得分:2)
只打印if/else
,这样可以节省很多
您也可以从内部if/else
中取出内部if (Character.toUpperCase(choosePassOverPed) == 'Y') {
passengerPoints = passengerPoints + toughCallThresholdPoints;
else {
pedestrianPoints = pedestrianPoints + toughCallThresholdPoints;
}
if (passengerPoints > pedestrianPoints){
System.out.println("Fatality Group: PEDESTRIANS");
}
else {
System.out.println("Fatality Group: OCCUPANTS");
}
System.out.printf("Number of adult fatalities: %d%n", numAdultPassengers);
System.out.printf("Number of child fatalities: %d%n", numChildPassengers);
。
position: absolute
答案 2 :(得分:0)
我实际上不会这样写它但是这摆脱了重复的代码:
file:///example.com/test
我认为其中有一些概念可以进一步抽象,例如,乘客点和行人点的行为方式相同,因此可能存在某种类型的PersonPoints类。