Javaのプログラミングについてご指導お願いします。
現在Javaを勉強しています。
このたび下記の実行結果となるように、次のソースにコードを追加しなくてはいけなくなったのですが、どうすればよいかわからずまったく手をつけることができません。
【ソース】
・ Shopping.java
class Shopping {
public static void main(String args[]) {
Fruit fruit; //下で生成するFruitクラス型オブジェクト名の定義
int price = 0; //商品検索結果(単価)を格納する変数
switch(args.length){ //コマンドライン引数の個数を判定
case 1: //コマンドライン引数が1つ(商品名のみ)の場合の処理を記述
//****** 以下、コメントに対応するコードを追加し、処理を完成させます *********
// Fruitクラスのオブジェクトを生成
// 商品検索(Fruitクラスのsearch()メソッドを実行)
// 結果表示(Fruitクラスのdisplay ()メソッドを実行)
case 2: // コマンドライン引数が2つの場合の処理を記述
//****** 以下、コメントに対応するコードを追加し、処理を完成させます *********
// Fruitクラスのオブジェクトを生成
// 商品検索(Fruitクラスのsearch()メソッドを実行)
// 結果表示(Fruitクラスのdisplay ()メソッドを実行)
default: // コマンドライン引数が1つ,2つ以外の場合の処理を記述
//****** 以下、コメントに対応するコードを追加し、処理を完成させます *********
// 引数の個数が違うエラーメッセージを表示する
}
}
}
・ Fruit.java
public class Fruit{
// インスタンス変数の定義
private String fName; //商品名
private int fNum; //個数
// 商品リストの登録(商品名、単価)
String[][] fruittable =
{ {"Strawberry","500"},{"Apple","150"},{"Orange","100"},
{"Mango","1500"},{"Banana","200"},{"Peach","400"} };
// 商品名と個数を引数にもつコンストラクタの定義
//****** ここにコンストラクタの定義を追加します *********
//search()メソッド 単価を戻す
int search(){
//search()メソッドの戻り値retval
int retval = -1;
//****** 以下、コメントに対応するコードを追加し、処理を完成させます *********
//商品リストにコマンドライン引数から入力した商品名と同じ商品名があるか検索し、
//見つかった場合は単価を戻す。見つからなかった場合は、-1を戻す。
}
// display ()メソッド 引数として単価を受け取る
void display(int price){
//****** 以下、コメントに対応するコードを追加し、処理を完成させます *********
// 商品名、単価、個数、合計金額を画面に表示する
// 商品名が見つからなかった場合には、エラーメッセージを表示する
}
}
【実行結果】
☆ 商品名と個数を入力すると、商品名、単価、個数、合計金額を表示する(個数が入力されない場合は1個とみなす)
> java Shopping Orange
商品:Orange
単価:100円
個数:1個
合計:100円
> java Shopping Orange 3
商品:Orange
単価:100円
個数:3個
合計:300円
☆ 商品が見つからなかった場合には、エラーメッセージを表示する
> java Shopping Melon 3
Melonは商品ではありません。
☆ 引数の数が0または3つ以上の場合は、エラーメッセージを表示する
> java Shopping Orange Apple Peach
引数には商品名と個数を入力してください。
【条件】
(1) Shoppingクラスはmain()メソッドを持つ。
(2) 実行時の引数に商品名と個数を入力する。個数が入力されなかった場合は1とみなす。
(3) Fruitクラスのsearch()メソッドは、商品が存在するかどうかを検索するメソッドで、商品が存在した場合は単価を戻す。商品が見つからなかった場合には-1を戻す。
(4) Fruitクラスのdisplay ()メソッドは、商品名、単価、個数から合計金額を計算して表示するメソッドである。商品が登録されていない場合はメッセージを表示する。
Javaの先輩方に、どのようにコードを打てばよいのかご解説頂ければと思います。
恐れ入りますがよろしくお願いします。
お礼
回答ありがとうございます。 >まず、上2つの穴埋めは、教科書に乗っている説明文の引用したようにしか思えません。 >まずは教科書をしっかり読みましょう。 教科書を見たのですがさっぱりです。。。 今、Javaを教えている先生が教科書通りではなく先生独自の文章で教えてくださっているので教科書からの引用がないんです; >3つめ4つめは何を求めているのか理解できません。 >最後の問題は、キャストを教科書の索引か何かで引けばわかるのではないでしょうか? 3、4、5つめは自己解決しました! ありがとうございました!