Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 创建简单库存计划-第二次尝试_Java_Oop_Stocks - Fatal编程技术网

Java 创建简单库存计划-第二次尝试

Java 创建简单库存计划-第二次尝试,java,oop,stocks,Java,Oop,Stocks,我以前问过这个问题,并尽可能地跟踪反馈,但在存储用户输入到阵列中的信息方面,我仍然有一个问题 以下是第一次尝试: 所以我总共需要上三节课。库存,库存,然后是用户界面。本程序的目的是要求用户输入公司名称、股票评级、价格和股票数量。当然,我还要做其他事情。我想我对其余的没问题,问题是stockInterface,我在下面发布的最后一段代码 public class Stock { private String companyName; private String stockRating; pr

我以前问过这个问题,并尽可能地跟踪反馈,但在存储用户输入到阵列中的信息方面,我仍然有一个问题

以下是第一次尝试:

所以我总共需要上三节课。库存,库存,然后是用户界面。本程序的目的是要求用户输入公司名称、股票评级、价格和股票数量。当然,我还要做其他事情。我想我对其余的没问题,问题是stockInterface,我在下面发布的最后一段代码

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,它可以动态地增长和收缩你们的评论。这只是我编的一些代码,代替了我不允许在互联网上发布的真实代码。因此,肯定有一些东西是没有意义的。我的问题是如何将用户输入的任何信息放入数组中,以便我可以用它做其他事情。感谢您发现这些错误。这不是我真正的代码,我必须快速编写一些代码,因为我不允许发布我真正的代码。这就解释了这么多错误。非常感谢您的输入。我到家后会试试你的建议。