当前位置: 首页 > 知识库问答 >
问题:

java中的扫描仪输入不起作用[重复]

漆雕誉
2023-03-14

所以我试着做一个简单的java预订系统,但问题是扫描仪功能不起作用,所以程序不需要任何输入。我试着把扫描仪,但它显示了一个警告,当我试图运行程序时,局部变量没有被使用,因此扫描仪不工作,所以整个程序卡在输入部分,不做任何其他事情。我对java很陌生,正试图通过创建项目来学习,所以我将感谢任何帮助和建议,谢谢。这是代码:所以显示警告局部变量不被使用的部分或一行代码是行8,9,16,34,36,46,48到目前为止,这些是唯一的问题,以及输入或扫描仪不工作时,我运行程序。

package random.java;
import java.util.Scanner;
public class AirlineReservation {

    public static void main(String[] args) {
    Scanner in = new Scanner(System.in);    
        int planeclass[] = new int[10];
        boolean available = false;
        boolean y=true;
        int number = 0, Premium = 1, Regular = 6;
        String x = null;
        
        while(Premium<=5&&Regular<=10)
        {
            System.out.print("Enter 1 for Premium class or 2 for Regular or -1 to exit");
            Scanner in1 = new Scanner(System.in);
            
                if(number == -1);
                break;
                
        }
        if(number == 1 && Premium <= 5) {
            System.out.println("You are assigned to First class\t"+"Seat#" + Premium);
            Premium++;
        }
        else if(number == 2 && Regular <=10) {
            System.out.println("You are assigned to Regular class\t" + Regular);
            Regular++;
        }
        else if(number == 1 && Premium >= 5) {
            System.out.println("First class full"+"  ");
            if(Regular <= 10) {
                System.out.println("Is it acceptable to be placed in the Regular class");
                Scanner in1 = new Scanner(System.in);
                in.close();
                if(x.equals("y")) {
                    System.out.print("Seat Reserved in Regular class\t" + Regular);
                }
                else {
                    System.out.println("Next Flight leaves in 3 hours.\t");
                }
            }
            
            else if(number == 2 && Regular == 10) {
                System.out.println("Regular class full\t");
                    Scanner in1 = new Scanner(System.in);
                    in.close();
                    if(x.equals("y")) {
                        System.out.println("You are assigned to Premium\t" + Premium);
                        
                    }
                    else if (Premium == 5 && Regular == 10) {
                        System.out.println("Plane is full, next flight is in 3");
                    }
                    else {
                        System.out.println("Next flight leaves in 3 hours\t");
                    }
                    for(int i=1; i<planeclass.length; i++) {
                        System.out.println(planeclass[Premium] + planeclass[Regular]);
                    }
            }
        }
    }           
}   

共有1个答案

邹英光
2023-03-14

如果您想要获取用户输入,那么您应该创建一个对象,然后使用该对象获取输入。

例子:


Scanner input = new Scanner(System.in); //here input is the name of object int

x = input.nextInt(); //now the above expression take an integer as a input from user
                       //nextInt() is method of class Scanner

使用本教程查看Scanner类的所有方法

 类似资料:
  • 问题内容: 因此,我是一名新Java程序员,我试图弄清楚为什么一段代码无法正常工作。我遇到的问题是:“字符串兴趣= input.nextLine();”,它跳过了用户的输入并跳至下一个System.out,因此它仅在控制台中显示“您的个人资料…”在允许用户输入任何数据之前。抱歉,这是一个愚蠢的问题,我很新! 问题答案: 这样说: 其余代码可能与您上面的代码相同。 编辑: 它必须是这样的(我的意思是

  • 我正在使用Java的扫描仪读取用户输入。如果我只使用nextLine一次,它可以正常工作。对于两个nextLine,第一个不等待用户输入字符串(第二个)。 输出: X:Y:(等待输入) 我的代码 你知道为什么会发生这种事吗?谢谢

  • 我对编程相当陌生。目前我正在做一个uni项目,用java创建一个基本的文本游戏。我遇到的问题是,如何实现一个不允许用户输入相同名称的业务规则。我把它设置好了,这样扫描仪就可以读取阵列了。我使用的是Java,这是我第一次使用这个论坛,所以我非常感谢大家提供的帮助,并提前感谢大家!:) 并为糟糕的格式道歉,我不知道如何正确发布。

  • 我正在制作一个地下城探索类型的游戏,用户可以输入输入作为一个移动每回合(选择一个方向移动)。然而,我遇到了一个问题与采取扫描仪输入。当我测试我的方法一次,它是正确的,然而,当我把它进入一个while循环,以便我可以从玩家的每一个回合,我得到一个新的移动,在第一次输入后,我得到了一个错误。我不明白为什么我会得到这个错误,因为它不应该每次运行时都扫描新的输入吗?谢谢你的洞察力。 错误如下: 下面是有问

  • 因此,我是一个新的Java程序员,我正试图弄清楚为什么一段代码不能工作。我遇到的问题是“String interests=input.nextLine();”这一行,它跳过了用户的输入并跳转到下一个System.out,所以它只显示“Your Profile...”。在允许用户输入任何数据之前。抱歉,如果这是一个愚蠢的问题,我是很新的!

  • 问题内容: 对于Java练习,我试图创建一个程序,该程序从键盘读取整数,直到输入负数为止。 并打印整数的最大值和最小值,而忽略负数。 一旦运行,是否可以在同一程序中进行连续输入?我必须每次都继续运行该程序以输入数字。 任何帮助,将不胜感激 这是我的代码的一部分-它可以工作,但是我认为有一种更简单的方法可以执行我想要的操作,但不确定如何操作! 问题答案: