このプログラムで障害にぶつかりました。
キャデラックの「在庫」を含むプログラムを作成するプログラムを持っていますが、とりわけ、質問に対する答えが見つかりません。
どうすればいいのかわかりません。指示を出してから、これまでの構文を投稿します。
これが私がしなければならないことです:
架空のキャデラック ディーラーの在庫を表示し、在庫を検索して、特定の基準を満たす車のリストを表示できるようにします。
インスタンス データの 4 つのフィールドを含む Cadillac という ADT クラスを作成します。モデル名、在庫番号と色の文字列、および価格の整数です。このクラスには、4 つのインスタンス フィールドすべての値を受け取り、パラメーター値をインスタンス変数に割り当てる 1 つのコンストラクターが含まれています。このクラスには、インスタンス データの各フィールドに対する単純なアクセサ メソッドとミューテータ メソッドも含まれています。
プログラムが実行されると、ファイル「inventory.dat」からインベントリがロードされます。
- ファイルの内容のサンプルを次に示します。 DTS 11210 グレイシャー ホワイト 42706 エスカレード 66502 クリムゾン パール 65547 XLR 58362 ラディアント ブロンズ 78840 SRX 16218 ラディアント ブロンズ 44522
各行 (各レコード) には、モデル名の文字列、5 桁の在庫番号、色、および価格の整数の 4 つのデータ フィールドが含まれています。フィールド間の区切り文字はタブ文字 (「\t」) です。
main() で、Cadillac オブジェクトの配列を作成し、ファイルからレコードを読み取り、それを 4 つのフィールドに分割し、Cadillac オブジェクトを作成して配列に追加します。
- 在庫ファイルが変更され、ファイル内のレコード数に関係なく、プログラムが動作する必要があります。ファイル内のレコードが 100 を超えることはなく (ロットには 100 台の車しか収容できません)、各レコードには正確に 4 つのフィールドの有効なデータが含まれることが保証されています。
- ユーザーは、モデル名と価格の 2 つの方法で在庫を検索できます。インベントリを読み込んだ後、どの検索を実行したいかをユーザーに尋ねます。「機種名で」と表示された場合は、名前を入力して検索してもらいます。有効なモデル名は、DTS、Escalade、ESV、EXT、SRX、STS、および XLR です。その名前を持つすべての車の在庫を検索し、コンソール画面に結果の表を表示します。
・ユーザーが価格で検索したい場合は、検索する価格を入力して検索を実行し、価格が検索価格の $3,000 以内のすべての車を表示します。- プログラムは、ユーザーが望むだけ多くの検索を行うためにループする必要があります。実行したい検索のタイプを尋ねられたときに、ユーザーが「キャンセル」ボタンをクリックしてプログラムを終了できるようにします。2 番目の質問 (検索するモデルまたは価格) の [キャンセル] ボタンでプログラムを終了するべきではありませんが、コードはそれを無効なエントリとして認識し、例外をスローしないようにする必要があります。リスト出力に加えて、プログラム内のすべての入力と出力は、JOptionPane ダイアログを使用する必要があります。
これが私がこれまでに持っているものです:
import java.util.Scanner;
import java.io.*;
public class Inventory {
public static void main ( String[] args )
{
String line;
String[] fields;
String[] items;
int count = 0;
int recCount;
Cadillac[] list = new Cadillac[100];
try
{
BufferedReader br = new BufferedReader( new FileReader( "inventory.dat" ) );
line = br.readLine();
while( line != null )
{
fields = line.split( "\t" );
items[count++] = new Cadillac( fields[0], fields[1], fields[2],
fields[3] );
line = br.readLine();
}
br.close();
}
catch( IOException e )
{
System.out.println( "Can't open input file. Program terminating." );
System.exit( 1 );
}
}
public static int loadArray(Cadillac[] items)
{
}
}
class Cadillac {
//Instance data
private String model;
private String stockNum;
private String color;
private int price;
//Constructor
public Cadillac(String mdl, String stckNum, String clr, int prc)
{
model = mdl;
stockNum = stckNum;
color = clr;
price = prc;
}
//Set of Accessor and Mutator Methods
public String getModel(){
return model;
}
public void setModel(String newModel){
model = newModel;
}
public String getStockNum(){
return stockNum;
}
public void setStockNum(String newStockNum){
stockNum = newStockNum;
}
public String getColor(){
return color;
}
public void setColor(String newColor){
color = newColor;
}
public int getPrice(){
return price;
}
public void setPrice(int newPrice){
price = newPrice;
}
}
助けてください!どうすればいいのか他に考えがありません。