java从多个扫描仪输入获取订购产品的列表
import java.util.*;
public class PointOfSale extends ProductDisplay
{
public PointOfSale()
{ System.out.print("\nPurchase Item(y/n)?");
Scanner sc = new Scanner(System.in);
String line = sc.nextLine();
if("y".equalsIgnoreCase(line)){
OpenOrder();
}
}
//=============================================
public void OpenOrder() // New Order
{
ArrayList<String> ProductList = new ArrayList<String>();
ProductList.add("A001");
ProductList.add("A002");
ProductList.add("A003");
ProductList.add("A004");
ProductList.add("A005");
System.out.print("Select Product Code:");
Scanner sc = new Scanner(System.in);
String code = sc.next();
if(ProductList.contains(code))
{
product.getProduct(code);
EnterQuantity();
}
else System.out.print("Product Code is Invalid\n");
System.exit(0);}
//==============================================
public void EnterQuantity() //Entering Quantity
{
try{
System.out.print("Enter Quantity:");
Scanner sc = new Scanner(System.in);
int quantity = sc.nextInt();
double amount = quantity * product.getPrice();
System.out.print("Amount: " + amount);
//add new item
System.out.print("\nAdd Item(y/n)?");
Scanner sc2 = new Scanner(System.in);
String add = sc2.nextLine();
if("y".equalsIgnoreCase(add)){
OpenOrder();
}
else {
DisplayOrder();
}
}
catch (InputMismatchException nfe)
{System.out.print("\nInvalid Entry: Input must be a Number.\n"); System.exit(0);}
}
public void DisplayOrder() //Displaying order information
{
}
// Main Method
public static void main(String[] args)
{ new PointOfSale(); }
}
正如您所看到的,您可以在一个无休止的循环中购买订单。但是那些订单没有存储,所以我不能打电话给他们。因为如果你停止订购,应该会有某种收据。如何存储这些多个订单并在DisplayORder上显示它们
# 1 楼答案
可以创建一个包含两个字段的新POJO类。产品代码和数量。每次获取产品代码和数量时,使用用户输入的值创建POJO类的实例,并将其添加到列表中。在display方法中,从列表中获取类的每个实例并显示内容
# 2 楼答案
您只需创建一个
List<String> productsOrdered = null;
并在构造函数中初始化它因此,每当你收到新订单时,它都会被重新初始化
现在,您可以在用户选择prod code时或在EnterQuantity方法中更新此列表,因为从这里您也可以保存数量(您只需要将此方法简单更改为public void EnterQuantity(字符串代码)。。调用EnterQuantity时传递代码值)
现在将这些值添加到列表中
您可以在DisplayOrder方法中将这些订单显示为
# 3 楼答案
我厌倦了运行你的代码,答案看起来很简单
您应该创建一个名为“Order”(可能)的新类,它可以将添加的产品和数量存储到该类中的Arraylist中
Add函数向其中添加产品和数量。 另一个功能是打印要显示的内容