如何删除这行代码中的重复?

时间:2017-10-14 19:44:37

标签: java

如何在不重复的情况下将此代码简化为最简单的形式?只使用简单的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);

3 个答案:

答案 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类。

相关问题