ユーザーがスーパーマーケットのカタログを作成し、ユーザーがカタログに入力したすべての製品を表示できる Java アプリケーションを作成しようとしています。今、ユーザーの入力によって埋められるべきオブジェクトの配列を埋めることに問題があります。出力は次のようになります (太字のユーザー入力)。
製品の説明を入力してください (または停止するには #):濃縮粉末水 製品コードを入力してください: P3487 製品単価を入力してください: $2.50 製品単位フレーズを入力してください: 1 パケットあたり
製品の説明を入力してください (または停止するには #): Distilled Moonbeams 製品コードを入力してください: K3876 製品の単価を入力してください: $3.00 製品の単位フレーズを入力してください: ダース
製品の説明を入力してください (または停止するには #): Anti-Gravity Pills 製品コードを入力してください: Z9983 製品の単価を入力してください: $12.75 製品の単位フレーズを入力してください: for 60
製品の説明を入力してください (または # で停止します): #
あなたのカタログ: P3487、濃縮粉末水、1 パケットあたり 2.50 ドル。K3876、蒸留ムーンビーム、ダース 3.00 ドル。Z9983、アンチグラビティ ピル、60 個で 12.75 ドル。
私が書いたコード: 2 クラス クラス 1:
public class Catalog {
private String description ;
private String code ;
private double price ;
private String phrase ;
int counter = 0;
private Catalog [] list = new Catalog [100];
public Catalog (String productDescription , String productCode , double productPrice , String productPhrase)
{
description = productDescription;
code = productCode;
price = productPrice;
phrase = productPhrase;
}
public void setDescription (String productDescription)
{
description = productDescription;
}
public String getDescription ()
{
return description;
}
public void setCode (String productCode)
{
code = productCode;
}
public String getCode ()
{
return code;
}
public void setPrice (double productPrice)
{
price = productPrice;
}
public double getPrice ()
{
return price;
}
public void setPhrase (String productPhrase)
{
phrase = productPhrase;
}
public String getPhrase ()
{
return phrase;
}
クラス 2:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class CatalogTest {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
String name = null;
String code = null;
double price = 0.0;
String phrase = null;
BufferedReader input = new BufferedReader (new InputStreamReader (System.in));
Catalog product = new Catalog(name,code,price,phrase);
Catalog [] productsArray = new Catalog [100];
for (int i = 0 ; i < productsArray.length ; i ++)
{
System.out.println("Enter product description (or # to stop): ");
name = input.readLine();
if (!("#".equals(name)))
{
productsArray [i] = product;
product.setDescription(name);
System.out.println("Enter product code: ");
code = input.readLine();
productsArray [i] = product;
product.setCode(code);
System.out.println("Enter product unit price: ");
price = Double.parseDouble(input.readLine());
productsArray [i] = product;
product.setPrice(price);
System.out.println("Enter product unit phrase: ");
phrase = input.readLine();
productsArray [i] = product;
product.setPhrase(phrase);
productsArray [i] = new Catalog (name,code,price,phrase);
}
else
{
System.out.println("Your Catalog:");
System.out.printf("%s, %s,$%.2f %s",product.getCode(),product.getDescription(),product.getPrice(),product
.getPhrase());
break;
}
}
}
}
私が得た出力 (太字のユーザー入力) : 製品の説明を入力してください (または停止する #): 濃縮粉末水 製品コードを入力してください: p3487 製品単価を入力してください: 2.50 製品単位のフレーズを入力してください: パケットあたり 製品の説明を入力してください (または停止する #) ): 蒸留ムーンビーム 製品コードを入力してください: k3876 製品単価を入力してください: 3 製品単位フレーズを入力してください: 1 ダース 製品の説明を入力してください (または # で停止します): # カタログ: k3876,
助けてください??