私はJavaプログラムを作ろうとしています。これは価格に応じてさまざまなタイプの自転車を並べ替えます。これには、マウンテンバイクとレーシングバイクの2種類のバイクのファイルがあります。どちらも緑色でも青色でも構いません。それは次の形式になります。文字列をJavaでスキャンした後にファイルに保存する方法は?
Blue Racing:
Price: 300
Topspeed: 50
Green Mountain:
price: 400
Topspeed: 30
Blue Mountain:
Price: 150
Topspeed: 20
Green Racing:
Topspeed: 50
price: 750
は、これらのバイクを並べ替えています、私は、サブクラス「RaceBike」とサブクラス「マウンテン」で、親クラス「バイク」を作りました。このクラスにはスキャン方法があります。このメソッドは、自転車の種類をスキャンし、スキャンする自転車の種類に応じて、サブクラスの1つのスキャン方法を呼び出します。
スキャナ方法のすべては、このように見ている:
public static Bike scanner(Scanner scan);
しかし、できるだけ早く例えば、「ブルー・レーシングは、」親クラスでスキャンされ、同様に、これらの言葉はでもうaccesedすることはできませんスキャナはサブクラスのスキャナメソッドにありますが、これは新しいBikeの色を決定するために必要です。
私の質問は、ファイルをスキャンした後も、どうやってそのファイルにアクセスできますか?
私の大学の規則のため、残念ながら、私はコードを表示することはできません。しかし、私はそれをもう少し明確にするためにいくつかの擬似コードを書くことができます:色はもうRacingBikeスキャナ方式でaccesedすることができないとして、上記の例のようにそれを実装する
public static Bike scanner(Scanner scan){
scan first word;
scan second word;
if second word equals racing
return racingbike.scanner(scan)
else
return mountainbike.scanner(scan)
}
public static RacingBike scanner(Scanner scan){
String color = scan first word //The color
scan second word //kind of bike
scan third word
int price = scan first number // price
return a new Racingbike, with attributes color and price
}
は、不可能です。だから私はまだそれにアクセスできる方法を見つけなければならない。
メソッドの戻り値の型と引数を変更することはできません。
ありがとうございました。
これは実際に私がやっていることです(私があなたが何を意味するのか理解していれば):例えば、私がする価格を得るために:int price = scan.nextInt()。私はこれがはっきりしていると思ったが、今私の元の質問でそれを編集する。 –
@ JasonMacvilleいいえ、あなたは(私は*コンストラクタ*の代わりに*ファクトリメソッド*と言っていました)。このようにしましょう:RacingBikeとScannerの両方を使用/インポートするクラスはありません。 – Bohemian