【问题标题】:Display method to display results from other methods Java显示方法以显示其他方法的结果 Java
【发布时间】:2015-09-28 22:41:40
【问题描述】:

我正在尝试使用 display 方法显示 GCD 和 LCM 的结果。我尝试在 display 方法中访问 numbers 对象,但它无法解析符号。一切都适用于代码我只是不确定如何访问显示方法中的数字对象。任何帮助是极大的赞赏!谢谢

public static void main(String[] args) {

    TwoNumbers numbers = getNumbers();

    System.out.println(numbers.getNum1());
    System.out.println(+numbers.getNum2());

    GCD(numbers.getNum1(), numbers.getNum2());
    System.out.println(GCD(numbers.getNum1(), numbers.getNum2()));

    LCM(numbers.getNum1(), numbers.getNum2());
    System.out.println(LCM(numbers.getNum1(), numbers.getNum2()));
}


public static TwoNumbers getNumbers(){
    int num1;
    int num2;
    Scanner input = new Scanner(System.in);
    System.out.println("Enter your first number: ");
    num1 = input.nextInt();

    System.out.println("Enter your second number");
    num2 = input.nextInt();

    return new TwoNumbers(num1, num2);

}

public static int GCD(int a, int b) {
    if (b==0) return a;
    return GCD(b,a%b);
}

public static long LCM(int a, int b) {
    return a * (b / GCD(a, b));
}

public static void display(){

}

【问题讨论】:

  • 我尝试在代码底部创建的空显示方法中访问“数字”。我试过把'System.out.println(GCD(numbers.getNum1(), numbers.getNum2()));'在显示方法中,它说它无法解析“数字”的符号

标签: java object methods


【解决方案1】:
TwoNumbers numbers = getNumbers();

如果您尝试访问 main 方法的 numbers。那么你可以那样做,numbers 的范围仅在 main 方法内。您不能直接从其他方法访问它。

您可以将numbers 作为参数传递给display 方法,也可以将numbers 声明为类级别static 变量。

public static void display(TwoNumbers numbers){
   //Now you have numbers inside display
}

此外,您无需再次从display 调用GCDLCM 方法。您可以简单地将两种方法的结果从main 传递给display 方法。

TwoNumbers gcdNumbers = GCD(numbers.getNum1(), numbers.getNum2());
display(gcdNumbers);
TwoNumbers lcmNumbers = LCM(numbers.getNum1(), numbers.getNum2());
display(lcmNumbers);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多