我对面向对象编程还很陌生,所以在掌握一些基本概念时仍然有些困难。所以在这里我试图创建一个基本的库存程序来跟踪库存。每只股票都包含几个细节:公司名称、股票评级(AAA、AAa、Aaa 等)、购买价格和股票数量。该程序将要求用户通过命令行提示输入这些详细信息。用户最多只能输入 12 只股票。如果用户两次输入股票,它会打印出一个错误。如果用户输入了两次股票,它也会打印出错误信息。
这是我到目前为止所做的:股票对象
public class Stock {
private String companyName;
private String stockRating;
private int price;
private int numberOfShares;
public String getCompanyName() {
return companyName;
}
public int getStockRating() {
return stockRating;
}
public String getPrice() {
return price;
}
public int getNumberOfShares() {
return numberOfShares;
}
public Stock(String companyName, String stockRating, int price, int numberOfShares) {
super();
this.companyName = companyName;
this.stockRating = stockRating;
this.price = price;
this.numberOfShares = numberOfShares;
}
现在,我正在尝试创建库存计划
import java.util.*;
public class StockInvetory {
private static final int INVENTORY_SIZE = 12;
private Stock [] stocks;
public StockInvetory() {
stocks = new Stock [INVENTORY_SIZE];
}
private static void StockInventory() {
for (int i = 0; i<INVENTORY_SIZE; i++){
Scanner console = new Scanner(System.in);
System.out.println ("Stock's name:");
String stockName = console.next();
System.out.println ("Stock's rating");
String stockRating= console.next();
System.out.println ("Stock's price:");
int stockPrice = console.nextInt();
System.out.println ("Numbers of shares: ");
int numberShares= console.nextInt();
stocks [i]= new Stock(stockName, stockRatings, stockPrice, numberShares);
}
public static void main (String [] args){
StockInventory();
}
}
所以我的问题如下:
第一个库存对象程序应该没问题,我的问题是库存盘点程序。有了这段代码,private Stock [] 股票,是不是表示股票盘点程序会将信息存储到一个数组中?如果是,我如何将与特定股票、公司名称、价格等相关的所有详细信息存储在一起。我是否必须创建一个多维数组才能跟踪所有细节?就像一行包含有关一只股票的所有详细信息,第二行包含有关另一只股票的详细信息。并且要确定用户是否两次输入了一只股票,我是否使用“equalsIgnoreCase”进行比较?我知道我可能需要为库存创建另一种方法。
非常感谢您的帮助。