2015-10-14 7 views
1

Помогите, мне нужно внести некоторые изменения в этот код. Как получить значения 65 и 106, не удаляя его из Exercise3 myExer3 = new Exercise3 (65,106);Необходимо внести изменения в этот код.

Базовый класс:

public class Exercise3 { 

private int Voltage; 
private int Resistance; 




public void setVoltage(int temp){ 
    if (Voltage == 65) 
    Voltage = temp; 
} 

public void setResistance(int temp){ 
     if (Resistance == 106)  
     Resistance =106;  
} 


public int getVoltage(){ 
     return (Voltage); 
} 

public int getResistance(){ 
return(Resistance); 
} 



} 

тест:

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


Exercise3 myExer3 = new Exercise3(65,106); 

System.out.println("Voltage: "+myExer3.getVoltage()); 
System.out.println("Resistance: "+myExer3.getResistance()); 
System.out.println("Current : "+ (myExer3.getVoltage()/myExer3.getResistance())); 


} 
} 

Так что я мог бы получить результат 0,61 Ома или тока.

+0

Добавьте параметризованный конструктор в свой Exercise3. –

+0

@ShadowDroid да, но у меня еще нет идей, как создать конструктор. новый для программирования –

+2

https://docs.oracle.com/javase/tutorial/java/javaOO/constructors.html –

ответ

1

Добавить конструктор в Excercise3 и исправить сеттеры, а также преобразовать в (двойной) результат.

public class JavaApplication27 
{ 

    public static class Exercise3 
    { 

     private int voltage; 
     private int resistance; 

     public void setVoltage(int v) 
     { 
      voltage = v; 
     } 

     public void setResistance(int res) 
     { 
      resistance = res;   
     } 

     public int getVoltage() 
     { 
      return voltage; 
     } 

     public int getResistance() 
     { 
      return resistance; 
     } 

     public Exercise3(int v, int res) 
     { 
      setVoltage(v); 
      setResistance(res); 
     } 

     public double getCurrent() //helper method :) 
     { 
      return (double) getVoltage()/getResistance(); 
     } 
    } 

    public static void main(String[] args) 
    { 

     Exercise3 myExer3 = new Exercise3(65, 106); 

     System.out.println("Voltage : " + myExer3.getVoltage()); 
     System.out.println("Resistance: " + myExer3.getResistance()); 
     System.out.println("Current : " + ((double) myExer3.getVoltage()/myExer3.getResistance())); // Since resistance and voltage are int's, the result of int/int division is int. To get a double) result use (double) :). 
     System.out.println("Current : " + myExer3.getCurrent()); //you may also use helper method to calculate current 
     System.out.format("Current : %.2f", myExer3.getCurrent()); // to get .61 must use formatter 
    } 
} 

Выход:

Voltage : 65 
Resistance: 106 
Current : 0.6132075471698113 
Current : 0.6132075471698113 
Current : 0.61 
1

Ваш класс нужен конструктор:

public class Exercise3 { 
    private int voltage; 
    private int resistance; 
    public Exercise3(int voltage, int resistance) { 
     this.voltage = voltage; 
     this.resistance = resistance; 
    } 
    ... 
} 

Для получения более подробной информации, обратитесь к Java Tutorials on providing constructors for your classes.

 Смежные вопросы

  • Нет связанных вопросов^_^