用Java调用另一个类

时间:2014-07-28 05:36:56

标签: java loops sentinel

好的,我想要做的就是创建2个类。一个是主类,第二个类是进行循环哨兵控制然后返回它的总数直到用户输入0.我无法使它工作。我不知道如何打电话给另一个班级,因为我对Java很新。这就是我所拥有的。

第1课:

import java.util.*;

public class HW3 {

public static void main(String[] args) {

    OrderDetails object = new OrderDetails();
    int n;
    n = object.OrderDetails(0);
    System.out.println(n);

第2课:

import java.util.*;

public class OrderDetails {

Scanner input = new Scanner(System.in);

int total=0;

int n1;

public int OrderDetails(int n1){

    while (n1 != 0){

        System.out.println("Enter your number");

        n1 = input.nextInt();

        total += n1;

    } // End while loop

    return total;

} // End method

2 个答案:

答案 0 :(得分:1)

首先

public int OrderDetails(int n1)

您正在使用类的名称作为方法名称,它将工作并运行,但某些IDE会抱怨您使用类的名称作为一种方法,您需要将其更改为构造函数。

object.OrderDetails(0);

现在的问题是你传递的0会破坏while语句,而是传递一个不同的值,比方说-1,所以你会进入while循环并从用户那里得到一些值。

<强>样品:

object.OrderDetails(-1); //change the name of your method

答案 1 :(得分:0)

类范围中的n1是实例变量,但方法中的参数n1是局部范围,因此它隐藏了实例变量。此外,该方法的名称与不良实践的类相同。

这都不是问题 - 真正的问题是调用者使用一个值来阻止它进入while循环。如果您使用除零之外的任何其他调用,您将看到它产生所需的结果。