Java 如何让扫描仪读取预设变量
我正在尝试使用扫描仪获取用户输入,以便将一个新项目添加到我创建的库存列表中,该项目必须具有itemID、itemDesc、price、quantity和reordlevel属性 我如何读取用户输入,将其识别为我创建的变量之一,然后将其添加到列表中 我试过了,但它似乎没有把它们识别为我的变量 任何帮助都将不胜感激。 谢谢 我的尝试:Java 如何让扫描仪读取预设变量,java,interface,java.util.scanner,Java,Interface,Java.util.scanner,我正在尝试使用扫描仪获取用户输入,以便将一个新项目添加到我创建的库存列表中,该项目必须具有itemID、itemDesc、price、quantity和reordlevel属性 我如何读取用户输入,将其识别为我创建的变量之一,然后将其添加到列表中 我试过了,但它似乎没有把它们识别为我的变量 任何帮助都将不胜感激。 谢谢 我的尝试: else if (i==1) { StockListInterface.doAddItem(item); System.ou
else if (i==1)
{
StockListInterface.doAddItem(item);
System.out.println("Add New Item");
System.out.println("****************");
System.out.println("Enter ID :>");
Scanner scanner1 = new Scanner(System.in);
String itemID = scanner1.nextLine();
System.out.println("Enter Description :>");
Scanner scanner2 = new Scanner(System.in);
String itemDesc = scanner2.nextLine();
System.out.println("Enter Price :>");
Scanner scanner3 = new Scanner(System.in);
String price = scanner3.nextLine();
System.out.println("Enter Quantity :>");
Scanner scanner4 = new Scanner(System.in);
String quantity = scanner4.nextLine();
System.out.println("Enter Re-Order Level :>");
Scanner scanner5 = new Scanner(System.in);
String reOrderLevel = scanner5.nextLine();
System.out.println("Enter another? (Y/N) :>");
}
您不需要每次输入时都创建新的扫描仪。您可以按如下方式使用先前定义的扫描仪:
else if (i==1)
{
StockListInterface.doAddItem(item);
System.out.println("Add New Item");
System.out.println("****************");
System.out.println("Enter ID :>");
Scanner scanner1 = new Scanner(System.in);
String itemID = scanner1.nextLine();
System.out.println("Enter Description :>");
String itemDesc = scanner1.nextLine();
System.out.println("Enter Price :>");
String price = scanner1.nextLine();
System.out.println("Enter Quantity :>");
String quantity = scanner1.nextLine();
System.out.println("Enter Re-Order Level :>");
String reOrderLevel = scanner1.nextLine();
System.out.println("Enter another? (Y/N) :>");
}
String addAnother = scanner1.nextLine();
你也应该考虑在末尾加一行,以获得“y”或“n”的输入:
else if (i==1)
{
StockListInterface.doAddItem(item);
System.out.println("Add New Item");
System.out.println("****************");
System.out.println("Enter ID :>");
Scanner scanner1 = new Scanner(System.in);
String itemID = scanner1.nextLine();
System.out.println("Enter Description :>");
String itemDesc = scanner1.nextLine();
System.out.println("Enter Price :>");
String price = scanner1.nextLine();
System.out.println("Enter Quantity :>");
String quantity = scanner1.nextLine();
System.out.println("Enter Re-Order Level :>");
String reOrderLevel = scanner1.nextLine();
System.out.println("Enter another? (Y/N) :>");
}
String addAnother = scanner1.nextLine();
您不需要每次读取输入时都创建新的扫描仪,只需使用
Scanner scanner = new Scanner(System.in);
然后每次你想读输入的时候就用
scanner.nextLine()
但是如果你知道你在读一个int等,你可以使用特定的方法,比如
scanner.getInt()
有关更多信息,请参见您需要在parseInt周围加上try catch,以防格式不正确谢谢。如何使程序识别出这些变量是我要分配给我要添加的项的?假设您有一个
item
对象,该对象具有属性id
,那么您可以说item item=new item()
和item.setID=itemID
,假设id
是公共的,或者您可以调用id
的设置程序。