遇到derefrencing错误

时间:2017-10-10 17:12:38

标签: java

public class Temperaturevar {
    public int T1 = 0;
    public int T2;
    public int T3;
    public int T4;
    public int T5;
    public int T6;
    public int T7;
    public int T8;
    public int T9;
    public int T10;

    public Temperaturevar() {
    }

    public void TemperatureVar() {
        T1 = T1;
        T2 = T1 + 10;
        T3 = T2 + 10;
        T4 = T3 + 10;
        T5 = T4 + 10;
        T6 = T5 + 10;
        T7 = T6 + 10;
        T8 = T7 + 10;
        T9 = T8 + 10;
        T10 = T9 + 10;
        //increase Temperature value by 10
    }

    public int getValue() {
        return T1;
    }

    public void main(String[] args) {
        System.out.println("T1: " + T1.getValue());
        System.out.println("T2: " + T2.getValue());
        System.out.println("T3: " + T3.getValue());
        System.out.println("T4: " + T4.getValue());
        System.out.println("T5: " + T5.getValue());
        System.out.println("T6: " + T6.getValue());
        System.out.println("T7: " + T7.getValue());
        System.out.println("T8: " + T8.getValue());
        System.out.println("T9: " + T9.getValue());
        System.out.println("T10: " + T10.getValue());
    }
}

我对Java编程比较陌生并理解基础知识,但当我尝试打印int cannot be derefrenced - T1的值时,我遇到T10错误。我也试过使用成功的click方法但后来遇到了我必须将相应的数字存储到变量的问题,所以我可以将它引用到另一个类。

1 个答案:

答案 0 :(得分:1)

因此,您的代码存在多个问题,我会尝试让您朝着正确的方向前进,但此时可能仍然存在问题。

最大的问题是整数是原始类型,所以你不能创建一个getValue()方法并从整数中调用它。 int会隐式地给你它的值,所以你可以写'' T1'而不是' T1.getValue()'。

对于记录,当前写入getValue()函数的方式,它只能由TemperatureVar对象调用,并且只返回T1的值。

另请注意,您永远不会初始化变量。您的代码从main()开始,因此public void TemperatureVar()中的代码永远不会运行。

最后,我会查找数组和循环。他们会使这段代码变得不那么乏味,例如,如果你需要做出100步的变化。