2015-02-23 107 views
-2
class apples{ 
    public static void main(String args[]){ 
     int gas = 4; 
     int miles = 50000; 
     int car1 = 15000; 
     int car2 = 30000; 
     int mpg1 = 10; 
     int mpg2 = 50; 
     int gascost1 = (miles/mpg1) * gas; 
     int gascost2 = (miles/mpg2) * gas; 
     int total1 = (car1 + gascost1); 
     int total2 = (car2 + gascost2); 
     System.out.println(total1); 
     System.out.println(total2); 
     if (total1 < total2) 
      System.out.println("Buy car 1"); 
     else 
      System.out.println("Buy car 2"); 
    } 
} 

這是一個基本的算法,以顯示什麼購買汽車,將長期節省資金。如果任何人都可以提供幫助,那會很棒。 感謝有沒有更簡單的方法來寫這個(java)

回答

3
System.out.println(total1 < total2 ? "Buy car 1" : "Buy car 2"); 

而不是

if (total1 < total2) 
       System.out.println("Buy car 1"); 
      else 
        System.out.println("Buy car 2"); 

       } 
+0

我喜歡這個,有沒有辦法清理億元幣。我有? – 2015-02-23 17:39:53

0

OO方式

public class NewClass { 

    private int miles = 50000; 
    private int gas = 4; 

    private class car { 

     private int cost; 
     private int mpg; 

     public int getCost() { 
      return cost; 
     } 

     public void setCost(int cost) { 
      this.cost = cost; 
     } 

     public int getMpg() { 
      return mpg; 
     } 

     public void setMpg(int mpg) { 
      this.mpg = mpg; 
     } 

     @Override 
     public String toString() { 
      return "car{" + "cost=" + cost + ", mpg=" + mpg + '}'; 
     } 

    } 

    public int gasCost(car c) { 
     return (miles/c.getMpg()) * gas; 

    } 

    public int totalCost(car c) { 
     return c.getCost() + gasCost(c); 
    } 

    public void compare(car c1, car c2) { 
     if (totalCost(c1) > totalCost(c2)) { 
      System.out.println("buy car" + c2); 
     }else 
     { 
       System.out.println("buy car" + c1); 
     } 
    } 

    public car setCar(int Cost, int mpg) { 
     car c = new car(); 
     c.setCost(Cost); 
     c.setMpg(mpg); 
     return c; 
    } 

    public static void main(String[] args) { 
     NewClass nc = new NewClass(); 
     car c1=nc.setCar(15000, 10); 
     car c2=nc.setCar(30000, 50); 
     nc.compare(c1, c2); 
    } 
} 
0
The following would be a good approach to follow . It is simple yet flexible in the sense that any number of cars can be created using the car class and any two cars can be compared against accordingly. 

class car{ 
public: 
int carCost; 
int mpg; 
int gasCost; 
int totalCost; 

int setGasCost(int miles,int gas){ 

gasCost = (miles/mpg) * gas; 
} 

int getGasCost(){ 

return gasCost ; 
} 

int setTotalCost(int gascost){ 

totalCost = (carCost + gascost); 
} 

int getTotalCost(){ 

return totalCost; 
} 

} 

class apples{ 
     public static void main(String args[]){  

      int gas = 4; 
      int miles = 50000; 

      Car car1 = new Car(); 
      car1.carCost = 15000; 
      car1.mpg = 10; 
      car1.setGasCost(miles , gas); 
      car1.setTotalCost(car1.getGasCost()); 

      Car car2 = new Car(); 
      car2.carCost = 30000;    
      car2.mpg = 50; 
      car2.setGasCost(miles , gas); 
      car2.setTotalCost(car2.getGasCost()); 

      int totalCar1 = car1.getTotalCost(); 
      int totalCar2 = car2.getTotalCost(); 

      if (totalCar1 < totalCar2) 
       System.out.println("Buy car 1"); 
      else 
        System.out.println("Buy car 2"); 

       } 
      } 
0

繼德DRY原則:

public class CarCostTest { 
    public static void main(String args[]) { 
     int gas = 4; 
     int miles = 50000; 
     CarCost cc1 = new CarCost(15000, 10); 
     CarCost cc2 = new CarCost(30000, 50); 
     int total1 = cc1.calcTotalCost(miles, gas); 
     int total2 = cc2.calcTotalCost(miles, gas); 
     System.out.println(total1 > total2 ? "Car 1 more expensive" : "Car 2 equal or more expensive"); 
    } 

    public static class CarCost { 
     private int cost; 
     private int mpg; 

     public CarCost(int cost, int mpg) { 
      this.cost = cost; 
      this.mpg = mpg; 
     } 

     public int calcGasCost(int miles, int gas) { 
      return (miles/mpg) * gas; 
     } 

     public int calcTotalCost(int miles, int gas) { 
      return cost + calcGasCost(miles, gas); 
     } 

    } 
} 
相關問題