扫描仪输入不工作(Java)?

扫描仪输入不工作(Java)?,java,java.util.scanner,Java,Java.util.scanner,我是Java新手,一直在尝试创建一个交互式游戏。我可以在一节课上做到,但我最近才学会如何使用两节课,所以我想尝试一下。无论如何,我的第二节课(金枪鱼)的扫描仪似乎因为某种原因不能工作。我曾尝试使用if和if-else语句,但这两种语句都不起作用(是的,我对if语句的参数使用了“.equals”not“==”)。我被合理地卡住了,需要帮助。我已经在堆栈上寻找了答案,但没有找到这个问题的答案。请告诉我这部分代码有什么问题,因为它可能是一个逻辑错误。如果这是一个重复给我的答案链接,我会把这个下来。 代

我是Java新手,一直在尝试创建一个交互式游戏。我可以在一节课上做到,但我最近才学会如何使用两节课,所以我想尝试一下。无论如何,我的第二节课(金枪鱼)的扫描仪似乎因为某种原因不能工作。我曾尝试使用if和if-else语句,但这两种语句都不起作用(是的,我对if语句的参数使用了“.equals”not“==”)。我被合理地卡住了,需要帮助。我已经在堆栈上寻找了答案,但没有找到这个问题的答案。请告诉我这部分代码有什么问题,因为它可能是一个逻辑错误。如果这是一个重复给我的答案链接,我会把这个下来。 代码: 头等舱:

    import java.util.Scanner;

class hand {

    public static void main(String[] args) {
        tuna opObject = new tuna();
        //creating input
        Scanner input = new Scanner(System.in);
        //instructions
        System.out.println("This is an interactive game. You are a traveler and have come across this strange hotel. Type in 'go' to begin.");
        // Initializing game
        if(input.nextLine().equals ("go")) {
                System.out.println("A smiling, some what tall fellow in a red suit walks up to you.'Welcome to the amazing, KingstonTraveler Hotel! How may I serve you traveler?'");
            }
        System.out.println("Will you a) punch him b) 'I would like a room' c) DIE! ");
        opObject.options();
        }
    }
二级(扫描仪不工作):


问题在于金枪鱼类:

Scanner input = new Scanner("System.in");
这就产生了一个新的问题。如果删除
,您会注意到,您必须在程序启动之前输入一些内容。这是因为在创建相应对象时(即
main
方法中的第1行),定义了属性(在本例中为
input

import java.util.Scanner;

public class Tuna { // Classes should always begin with an uppercase letter

    // Moved object attributes into method
    public void options() {
        // Now input is read if options() gets called
        Scanner input = new Scanner(System.in);
        String answer = input.nextLine();
        switch(answer) {
        case "a":
            System.out.println("answer a");
            break;
        case "b":
            System.out.println("answer b");
            break;
        case "c":
            System.out.println("answer c");
        }
        input.close(); // Close stream when we are done
    }
}

问题在于金枪鱼类:

Scanner input = new Scanner("System.in");
这将创建一个。如果删除
,您将注意到,您必须在程序启动之前输入一些内容。这是因为在创建相应对象时(即
main
方法中的第1行),定义了属性(在本例中为
input
)。你想要的是这样的:

import java.util.Scanner;

public class Tuna { // Classes should always begin with an uppercase letter

    // Moved object attributes into method
    public void options() {
        // Now input is read if options() gets called
        Scanner input = new Scanner(System.in);
        String answer = input.nextLine();
        switch(answer) {
        case "a":
            System.out.println("answer a");
            break;
        case "b":
            System.out.println("answer b");
            break;
        case "c":
            System.out.println("answer c");
        }
        input.close(); // Close stream when we are done
    }
}

问题在于金枪鱼类:

Scanner input = new Scanner("System.in");
这就产生了一个新的问题。如果删除
,您会注意到,您必须在程序启动之前输入一些内容。这是因为在创建相应对象时(即
main
方法中的第1行),定义了属性(在本例中为
input

import java.util.Scanner;

public class Tuna { // Classes should always begin with an uppercase letter

    // Moved object attributes into method
    public void options() {
        // Now input is read if options() gets called
        Scanner input = new Scanner(System.in);
        String answer = input.nextLine();
        switch(answer) {
        case "a":
            System.out.println("answer a");
            break;
        case "b":
            System.out.println("answer b");
            break;
        case "c":
            System.out.println("answer c");
        }
        input.close(); // Close stream when we are done
    }
}

问题在于金枪鱼类:

Scanner input = new Scanner("System.in");
这将创建一个。如果删除
,您将注意到,您必须在程序启动之前输入一些内容。这是因为在创建相应对象时(即
main
方法中的第1行),定义了属性(在本例中为
input
)。你想要的是这样的:

import java.util.Scanner;

public class Tuna { // Classes should always begin with an uppercase letter

    // Moved object attributes into method
    public void options() {
        // Now input is read if options() gets called
        Scanner input = new Scanner(System.in);
        String answer = input.nextLine();
        switch(answer) {
        case "a":
            System.out.println("answer a");
            break;
        case "b":
            System.out.println("answer b");
            break;
        case "c":
            System.out.println("answer c");
        }
        input.close(); // Close stream when we are done
    }
}

比较
新扫描器(System.in)
新扫描器(“System.in”)
放弃提到的问题是,在选项a、b和cthanks之后,我无法输入任何内容。我是个白痴。你应该以大写字母开始你的类名称。只是Java中的一个惯例。好的,感谢tipCompare
new Scanner(System.in)
vs.
new Scanner(“System.in”)
Forg提到的问题是,在选项a、b和cthanks之后,我无法输入任何内容。我是个白痴。你应该用大写字母开始你的类名称。只是Java中的一个惯例。好的,感谢tipCompare
new Scanner(System.in)
vs.
new Scanner(“System.in”)
Forg提到的问题是,在选项a、b和cthanks之后,我无法输入任何内容。我是个白痴。你应该用大写字母开始你的类名称。只是Java中的一个惯例。好的,感谢tipCompare
new Scanner(System.in)
vs.
new Scanner(“System.in”)
Forg提到的问题是,在选项a、b和cthanks之后,我无法输入任何内容。我是个白痴。你应该用大写字母开始你的类名称。只是Java中的一个约定。好的,谢谢你的提示