public class Exam0531hint1{ public static void main(String[] args){ //String型のコマンドライン引数をint型に直す int inputKcal = Integer.parseInt(args[]); inputKcal = 0; if(inputKcal == 0){ System.out.println(""); System.out.println("カロリーを設定して再起動してください"); } else{ //入力するメニューNoを定義 int inputCook = 1; //入力したカロリーを上限カロリーに代入 int limitKcal = inputKcal; //料理名 String menu; //料理のカロリー int kcal = 0; //総カロリー int totalKcal = 0; while(inputCook != 0){ final String PASTA = "パスタ"; final String PIZZA = "ピザ"; final String CURRY = "カレー"; final String RAMEN = "ラーメン"; System.out.println(""); System.out.println(""); System.out.println("商品(メニューNo:料理名 カロリー)"); System.out.println("1:"+ PASTA + "600kcal"); System.out.println("2:"+ PIZZA + "800kcal"); System.out.println("3:"+ CURRY + "700kcal"); System.out.println("4:"+ RAMEN + "860kcal"); System.out.println(""); System.out.print("選択してください:"); inputCook = new java.util.Scanner ( System.in ).nextInt (); System.out.println(""); switch(inputCook){ case 0: break; case 1: menu = "パスタ"; kcal = 600; totalKcal += kcal; break; case 2: menu = "ピザ"; kcal = 800; totalKcal += kcal; break; case 3: menu = "カレー"; kcal = 700; totalKcal += kcal; break; case 4: menu = "ラーメン"; kcal = 860; totalKcal += kcal; break; default: System.out.println("正しい数値を入力してください"); System.out.println(""); break; } if(inputCook >= 5){ } else if(inputCook < 5 && totalKcal >= limitKcal ){ System.out.println(""); System.out.println("食べすぎですのでキャンセルさせて頂きます。"); totalKcal -= kcal; System.out.println("合計:" + totalKcal + "kcal"); } else{ System.out.println("合計:" + totalKcal + "kcal"); } } System.out.println("お食事ありがとうございました。"); } } }
<実現したいこと>
コマンドライン引数を入力して上限カロリーを設定できるようにして、コマンドライン引数が入力されてない場合は、『カロリーを設定して再起動してください』と表示させたいです。
<発生している問題・エラーメッセージ>
コマンドライン引数を入力したときは、その値を上限カロリーとして出力できるが、コマンドライン引数を入力しなかった場合にException in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0とエラーが出てしまいます。
<使っているツールのバージョンなど補足情報>
サクラエディタ2.2.0.1を使用
質問内容は以上となります。
ご教示いただける方がいらっしゃいましたら幸いです。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。