面向对象Java:创建库存计划
我对面向对象编程相当陌生,所以我在掌握一些基本概念方面仍然有一些困难。所以在这里,我试图创建一个基本的库存计划来跟踪库存。每只股票都包含两个详细信息:公司名称、股票评级(AAA、AAA、AAA等)、购买价格和股票数量。程序将要求用户通过命令行提示符输入这些详细信息。用户最多只能输入12只股票。如果用户输入股票两次,它将打印出一个错误。如果用户两次输入一只股票,它也会打印一条错误消息 以下是我到目前为止所做的:Stock对象面向对象Java:创建库存计划,java,oop,inventory,stock,Java,Oop,Inventory,Stock,我对面向对象编程相当陌生,所以我在掌握一些基本概念方面仍然有一些困难。所以在这里,我试图创建一个基本的库存计划来跟踪库存。每只股票都包含两个详细信息:公司名称、股票评级(AAA、AAA、AAA等)、购买价格和股票数量。程序将要求用户通过命令行提示符输入这些详细信息。用户最多只能输入12只股票。如果用户输入股票两次,它将打印出一个错误。如果用户两次输入一只股票,它也会打印一条错误消息 以下是我到目前为止所做的:Stock对象 public class Stock { private Strin
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();
}
import java.util.*;
公营证券投资{
私有静态最终整数库存大小=12;
私人股[]股;
公共证券投资{
库存=新库存[库存大小];
}
私有静态无效库存(){
对于(int i=0;i
私人库存[]库存,这是否意味着库存计划
是否将信息存储到数组中?如果是,如何存储所有
与特定股票、公司名称、价格等相关的详细信息
一起
您的数组就像股票的列表
。但仅仅因为它只有一个对象,并不意味着它只包含一条数据。它可以保存字符串、整数和其他用户定义的数据类型。因此,您可以在股票
对象中存储与股票相关的数据
public class Stock {
private String companyName;
private String stockRating;
private int price;
private int numberOfShares;
这些都存储在每个Stock对象中,可以通过您定义的getter方法进行访问
int stockdata=stocks[4].getPrice();
但是,要初始化Stock
数组,需要为每个区域创建一个新的Stock
对象,如下所示:
for(int i = 0; i < INVENTORY_SIZE; i++) {
stocks[i] = new Stock(foo, bar, lorem, ipsum);
}
私人库存[]库存,这是否意味着库存计划
是否将信息存储到数组中?如果是,如何存储所有
与特定股票、公司名称、价格等相关的详细信息
一起
您的数组就像股票的列表
。但仅仅因为它只有一个对象,并不意味着它只包含一条数据。它可以保存字符串、整数和其他用户定义的数据类型。因此,您可以在股票
对象中存储与股票相关的数据
public class Stock {
private String companyName;
private String stockRating;
private int price;
private int numberOfShares;
这些都存储在每个Stock对象中,可以通过您定义的getter方法进行访问
int stockdata=stocks[4].getPrice();
但是,要初始化Stock
数组,需要为每个区域创建一个新的Stock
对象,如下所示:
for(int i = 0; i < INVENTORY_SIZE; i++) {
stocks[i] = new Stock(foo, bar, lorem, ipsum);
}
读入名称、评级、价格和共享计数后,需要调用类Stock的构造函数来创建类的实例,并将其分配给stocks[]数组中的下一项
像这样:
stocks[0] = new Stock( stockName, stockRating, stockPrice, numberShares);
然后,您需要将用于从控制台读取的代码行,以及创建新股票对象的我的代码行放入一个循环中,以便您可以读取所有12种股票:
for( int i = 0; i < INVENTORY_SIZE; i++ )
{
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, stockRating, stockPrice, numberShares);
}
for(int i=0;i
现在,这并不完美,因为它将要求用户始终输入12个库存的完整集合,因此您需要找出如何让用户在完成后退出循环,并且您仍然需要添加所需的错误检查,以确保没有输入重复项,但它应该初始化您的单个对象并分配eachh一个到数组元素。读入名称、评级、价格和共享计数后,需要调用类Stock上的构造函数来创建类的实例,并将其分配到stocks[]数组中的下一项
像这样:
stocks[0] = new Stock( stockName, stockRating, stockPrice, numberShares);
然后,您需要将用于从控制台读取的代码行,以及创建新股票对象的我的代码行放入一个循环中,以便您可以读取所有12种股票:
for( int i = 0; i < INVENTORY_SIZE; i++ )
{
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, stockRating, stockPrice, numberShares);
}
for(int i=0;i
现在,这并不完美,因为它将要求用户始终输入12个库存的完整集合,因此您需要找出如何让用户在完成后退出循环,并且您仍然需要添加所需的错误检查,以确保没有输入重复项,但它应该初始化您的单个对象并分配eachh一个到数组元素。如果用户不想输入所有12个信息,您可能需要提供某种方法在特定条件下打破循环。但是,这完全取决于您的要求。
在这种情况下,您可能必须使用其他选项,如列表或向量
每个对象都可以有多个变量,例如绑定到每个对象的评级、价格、名称和共享。因此,当您将对象存储在数组索引中时,实际上是将该对象包含的所有信息存储在一个位置。因此,在本例中,您不必创建多维数组
您可以根据将对象定义为equal的内容重写equals方法,并使用它确定是否再次提供相同的库存。如果两个对象都是equals,则返回true