私は靴用のインベントリプログラムを実装しようとしています。私がしようとしているのは、各靴にid(productId)と靴の在庫量(ammountToPick)を与えることです。私は、プログラムを実行しているユーザーに靴IDを入力して、在庫に残っている靴の種類(ammountToPick)を取得するようにしたいと考えています。私のプログラムの私の現在の問題は何も返されておらず、単に「無効な製品ID」を印刷し続けているということです。私は以下の私のコードを提供してきたJavaでShoe Inventoryプログラムを実装する際に問題が発生する
:最初の行で
public class Product {
private String productId = "";
private int ammountToPick = 0;
private int ammountToRestock = 0;
public Product (String productId, int ammountToPick){
this.productId = productId;
this.ammountToPick = ammountToPick;
}
public String getProductId() {
return productId;
}
public int getAmmountToPick() {
return ammountToPick;
}
}
public class Shoes extends Product{
public Shoes(String productId, int ammountToPick){
super(productId, ammountToPick);
}
}
import java.util.Scanner;
public class Inventory
{
private static String productId = "";
private int ammountToPick = 0;
private int ammountToRestock = 0;
public static final int MAX_ITEMS = 999999;
private static Product product [] = new Shoes[MAX_ITEMS];
public static void main (String args[]){
buildInventory();
getInventory();
}
public static void buildInventory(){
product[1] = new Shoes("shoe101", 19);
product[2] = new Shoes("shoe200", 1);
product[3] = new Shoes("shoe420", 9);
}
public static void getInventory() {
Scanner input = new Scanner(System.in);
System.out.println("Enter the product id of the product you would like to pick: ");
String userinput = input.nextLine();
if(userinput.equals(productId)) {
System.out.println("there are" + product[1].getAmmountToPick() +"left");
}
else {
System.out.println("invalid product id ");
}
}
}
productIdを空の文字列以外のものに初期化することはありません。したがって、常に空の文字列です。 – Malphrush
私は自分の答えを更新しました – ControlAltDel