我正在编写一个程序,用于读取用户输入的产品数量,然后在一个循环中向用户询问产品名称和产品价格。然后它使用Array(而不是arrayList)来存储它们。
我已经为名为产品的产品编写了一个类(我可以将其删除,只是为了让它更容易)
public class Products {
String ProductName;
double ProductPrice;
public Products(String a , double b) {
setProductName(a);
setProductPrice(b);
}
public String getProductName() {
return ProductName;
}
public double getProductPrice() {
return ProductPrice;
}
public void setProductName(String a) {
ProductName = a;
}
public void setProductPrice(double b) {
ProductPrice = b;
}
public String toString() {
return ProductName+": "+ProductPrice+"\n";
}
}
我的程序在这里
import java.util.Scanner;
public class PreLab6 {
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
int NumOfProducts;
String ProductName ;
double ProductPrice;
System.out.println("Enter the number of products:");
NumOfProducts = scan.nextInt();
while(NumOfProducts >= 1)
{
System.out.println("Enter the name of product:");
ProductName = scan.next();
System.out.println("Enter the price:");
ProductPrice = scan.nextDouble();
NumOfProducts--;
}
}
}
我无法完成我的程序,因为我应该使用数组,但没有arraylist。我应该有这样的输出:
输入产品数量:
2
输入产品名称:
肉
输入价格:
25.30
输入产品名称:
蛋
输入价格:
1.20
肉:25.3
鸡蛋:1.2
答案 0 :(得分:3)
注意,我的意思是将Products []更改为Product []。该课程是单一产品,因此产品
没有意义您可以初始化一个大小为numOfProducts的数组,然后您可以循环并开始填充用户输入。
与ArrayLists
不同,Arrays
是固定大小(如果您知道要预先存储的项目数量,这是很好的)。 Arrays
为此类解决方案派上用场,因为您知道使用numOfProducts
之前存储的产品数量。
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int numOfProducts;
String productName;
double productPrice;
System.out.println("Enter the number of products:");
numOfProducts = scan.nextInt();
//Create an array of Products using the user value stored in numOfProducts
Product[] products = new Product[numOfProducts];
//Loop over products, and initialize each space with a new product
for (int i = 0; i < products.length; i++) {
System.out.println("Enter the name of product:");
productName = scan.next();
System.out.println("Enter the price:");
productPrice = scan.nextDouble();
products[i] = new Product(productName, productPrice);
}
}