如何让方法在其中接受输入?

时间:2016-10-25 18:06:52

标签: java methods java.util.scanner

我在课堂上有一个作业,但我们需要使用教师骨架代码,而不是按照自己的方式设计。评论是方法和方法的说明是我到目前为止,但我仍然不明白它应该如何工作。令我困惑的是,它需要在用户知道该做什么之前打印选项,那么如何在没有输入的情况下运行该方法呢?

/**
* Prints the main menu (see output examples), allows the user to make a selection from available operations
*
* @param input the Scanner object you created at the beginning of the main
* method. Any value other than the 4 valid selections should generate an
* invalid value prompt. Print the list again and prompt user to select a 
* valid value from the list.

* @return an integer from 1-4 inclusive representing the user’s selection.

*/

public static int mainMenuOptionSelector(Scanner input){
    System.out.println("Please select an option from the list below:");
    System.out.println("1. Check the balance of your account");
    System.out.println("2. Make a deposit");
    System.out.println("3. Withdraw an amount in a specific currency");
    System.out.println("4. End your session (and withdraw all remaining currency in U.S. Dollars)");

    if(input.equals(1))
        return 1;
    else if(input.equals(2))
        return 2;
    else if(input.equals(3))
        return 3;

    else if(input.equals(4))
        return 4;
    else{
        System.out.println("Input falied validation.");
        System.out.println("Please try again");
        return 0;
    }

}

1 个答案:

答案 0 :(得分:0)

您的方法需要java.util.Scanner作为输入(除非您的老师已经推出了自己的扫描仪,这将是错误的命名练习)。扫描仪提供了从各种来源读取数据的方法,例如键盘(通常为System.in)。

其中一种方法是nextInt(),它从扫描仪的输入读取下一个int并返回它。你可以这样做:

theSelection = input.nextInt();

然后,您可以像引用任何其他int一样引用新变量theSelection。请注意,nextInt方法可以抛出许多您可能想要捕获并正常处理的运行时异常。