Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 这个代码需要修改一下。_Java_Oop_Accessor - Fatal编程技术网

Java 这个代码需要修改一下。

Java 这个代码需要修改一下。,java,oop,accessor,Java,Oop,Accessor,帮助,我需要修改一下这个代码。如何获得65和106的值而不将其从Exercise3 myExer3=新的Exercise3(65106) 基类: public class Exercise3 { private int Voltage; private int Resistance; public void setVoltage(int temp){ if (Voltage == 65) Voltage = temp; } public void setResist

帮助,我需要修改一下这个代码。如何获得65和106的值而不将其从Exercise3 myExer3=新的Exercise3(65106)

基类:

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欧姆或电流的结果。

在练习3中添加一个构造函数和正确的设置器,并将结果转换为(双精度)

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

您的类需要一个构造函数:

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

有关详细信息,请参阅。

在练习3中添加参数化构造函数。@ShadowDroid是的,但我还不知道如何创建构造函数。新手programming@BlackHusky浏览Sajan提供的链接…了解什么是构造函数…然后在代码中实现它..如果出现错误,请顺便编辑问题欢迎使用JAVA Programming for floating point(0.61Ω)使用
double
而不是
int
。(但一般来说int更好。)