在其他类而不是主类中使用Scanner

时间:2016-09-27 11:51:31

标签: java class

我使用netbeans作为我的IDE。该程序没有编译。

我不明白我犯了哪些错误:

package javaapplication20;

/**
*
* @author HAYES
*/
public class JavaApplication20 {

   /**
   * @param args the command line arguments
   */
   public static void main(String[] args) {
        // TODO code application logic here
        maximumfinder m = new maximumfinder();
        m.determinemaximum();
    }
}

我的maximumfinder课程:

package javaapplication20;

/**
 *
 * @author HAYES
 */
import java.util.Scanner;
public class maximumfinder {

    public void determinemaximum()
    {
        Scanner input = new Scanner(System.in);

        double num1 = input.nextDouble();
        double num2 = input.nextDouble();
        double num3 = input.nextDouble();

        double result = maximum(num1, num2, num3);

        System.out.println("result is:" + result);
    }

    public double maximum(double x, double y, double z)
    {
        double maxvalue = x;

        if (y > maxvalue)
            maxvalue = y;

        if (z > maxvalue)
            maxvalue = z;

        return maxvalue;
    }
}

当我在Scanner中未使用main()时,它不会从用户那里获取输入。这是为什么?这也是Deitel的书中的一个例子。

1 个答案:

答案 0 :(得分:1)

代码看起来很完美,我试过了。它工作正常。 在System.out.println()之前没有Scanner,因此您在控制台中看不到任何消息,然后您必须输入3个数字,并且您将获得最大数量。

System.out.println("please enter three numbers :");

在下面的代码之前输入上一行,这样您就可以在输入数字

之前在控制台中查看消息
    double num1 = input.nextDouble();
    double num2 = input.nextDouble();
    double num3 = input.nextDouble();