Java 创建简单库存计划-第二次尝试
我以前问过这个问题,并尽可能地跟踪反馈,但在存储用户输入到阵列中的信息方面,我仍然有一个问题 以下是第一次尝试: 所以我总共需要上三节课。库存,库存,然后是用户界面。本程序的目的是要求用户输入公司名称、股票评级、价格和股票数量。当然,我还要做其他事情。我想我对其余的没问题,问题是stockInterface,我在下面发布的最后一段代码Java 创建简单库存计划-第二次尝试,java,oop,stocks,Java,Oop,Stocks,我以前问过这个问题,并尽可能地跟踪反馈,但在存储用户输入到阵列中的信息方面,我仍然有一个问题 以下是第一次尝试: 所以我总共需要上三节课。库存,库存,然后是用户界面。本程序的目的是要求用户输入公司名称、股票评级、价格和股票数量。当然,我还要做其他事情。我想我对其余的没问题,问题是stockInterface,我在下面发布的最后一段代码 public class Stock { private String companyName; private String stockRating; pr
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];
}
public class StockInterface() {
private static StockInventory stockPortfolio;
public static void main (String [] args){
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();
stockPortfolio [0]= new Stock(stockName, stockRatings, stockPrice, numberShares);
}
这段代码不起作用
stockPortfolio [0]= new Stock(stockName, stockRatings, stockPrice, numberShares)
有人能告诉我将信息存储到数组中的正确方法吗?多谢各位 大量编译错误 您已将stockRating定义为字符串,但仍将其作为int返回: 价格也是如此 这里有额外的括号:
public class StockInterface() {
^
同样在StockInventory中,类块中有多个语句,它们属于一个方法
控制台未实例化。
stockPortfolio被指定为一个数组条目,但它是一个单一的对象,并被指定给不匹配类型的股票。因此,您已将stockPortfolio声明为StockInventory的一个实例。StockInventory是一个类而不是数组,因此不能使用stockPortfolio[0]=。。。因为stockPortfolio是这个类的一个实例。StockInventory中有一个私有成员,它是一个Stock类实例数组。您需要的是一个能够操作它的访问器方法。因此,按如下方式更改库存:
public class StockInvetory {
/*
All the code you have now ...
*/
public Stock [] getStocks(){
return stocks;
}
public setStocks(Stock [] value){
//maybe some checking here ...
stocks = value;
}
}
public class StockInterface {
/*
What you have just the following line changes ...
*/
stockPortfolio.getStocks()[0] = new Stock(stockName, stockRatings, stockPrice, numberShares);
}
现在,只需对使用该类进行一点小小的更改。您需要使用访问器方法,如下所示:
public class StockInvetory {
/*
All the code you have now ...
*/
public Stock [] getStocks(){
return stocks;
}
public setStocks(Stock [] value){
//maybe some checking here ...
stocks = value;
}
}
public class StockInterface {
/*
What you have just the following line changes ...
*/
stockPortfolio.getStocks()[0] = new Stock(stockName, stockRatings, stockPrice, numberShares);
}
我假设您对初始化数组的方式感到满意,并且您已经决定,对于您的特定项目,数组优于集合中更动态的数据结构。如果这不是真的,那么看看Java集合,它们可能会给您带来更多的乐趣。您可能需要方法中的功能,可能是main中的功能。您需要实际实例化一个StockInventory。请重新排列您的代码,现在,在StockInterface类中没有任何意义。你可能把代码放在这里做错了……把库存量限制在12可能没有意义……那家公司将倒闭,除非他们能够购买、销售和推出新产品。使用java.util.ArrayList,它可以动态地增长和收缩你们的评论。这只是我编的一些代码,代替了我不允许在互联网上发布的真实代码。因此,肯定有一些东西是没有意义的。我的问题是如何将用户输入的任何信息放入数组中,以便我可以用它做其他事情。感谢您发现这些错误。这不是我真正的代码,我必须快速编写一些代码,因为我不允许发布我真正的代码。这就解释了这么多错误。非常感谢您的输入。我到家后会试试你的建议。