在Java

时间:2015-04-26 23:09:28

标签: java object

我在TestQuadraticEquations类中创建的引用导致空值,因此当我尝试将它们发送到另一个类时,我创建的程序没有任何值来分配变量。

变量的print语句只是为了测试是否有任何内容被分配,遗憾的是,什么都没有。任何建议将不胜感激。

public class TestQuadraticEquation {
public static void main(String[]args) {
    TestQuadraticEquation nums = new TestQuadraticEquation();
    nums.promptForNum();
    TestQuadraticEquation getCo = new TestQuadraticEquation();
    int a1 = getCo.getA();
    int b1 = getCo.getB();
    int c1 = getCo.getC();
    System.out.println(a1 + " " + b1 + " " + c1);
    Equation solution1 = new Equation();
    System.out.println("For: " + solution1.getA2() + "x\u00B2 + " + 
            solution1.getB2() + "x + " + solution1.getC2());
    if (solution1.getDiscriminant() > 0) {
        System.out.println("Roots are: " + solution1.getRoot1() + " " + 
                solution1.getRoot2());
    }
    else if (solution1.getDiscriminant() == 0) {
        System.out.println("Roots are: " + solution1.getRoot1());
    }
    else{
        System.out.println("No roots.");
    }  
}
Scanner in = new Scanner(System.in);
private int a;
private int b;
private int c;
public void promptForNum() {
    System.out.println("Enter three coefficicents: ");
    a = in.nextInt();
    b = in.nextInt();
    c = in.nextInt();
}
public int getA() {
    return a;
}
public int getB() {
    return b;
}
public int getC() {
    return c;
}
}

1 个答案:

答案 0 :(得分:0)

您的问题源于这样一个事实:名为TestQuadraticEquation的{​​{1}}实例与名为nums的{​​{1}}实例不同。因此,当您调用TestQuadraticEquation时,您正在将值插入实例中的私有变量' nums'。

如果不是抓取getCo的值(全部为0),而是抓取nums.promptForNum()的值,则会得到您要查找的值。

getCo