前提
javaでプログラミング課題を作成しています。
コマンドライン入力に整数値を入力すると,作成したメソッドを使用して,入力した整数値の平均値を求め,結果を標準出力に出力するプログラムを作成しています。
平均値の出力は出来たのですが、未入力時の処理がうまくできません。
色々試していますが、思うような結果にならず困っています。
皆様のお知恵をお貸しください。
よろしくお願いいたします。
実現したいこと
ここに実現したいことを箇条書きで書いてください。
・コマンドライン入力に整数値を入力せずプログラムを実行すると
何も表示されないようにする。
発生している問題・エラーメッセージ
プログラムを実行すると「NaN」と表示される。
該当のソースコード
import java.util.Scanner; public class Ex_02_05 { public static double calcAverage(int[] nums) { int sum = 0; for (int i = 0; i < nums.length; i++) { sum += nums[i]; } return (double)sum / nums.length; } public static void main(String[] args) { int n = args.length; int[] nums = new int[args.length]; // String[] numsStr = n.nextLine().split(" "); for (int i = 0; i < args.length; i++) { nums[i] = Integer.parseInt(args[i]); } double avg = calcAverage(nums); System.out.println(String.format("%.02f", avg)); } }
試したこと
//String[] numsStr = n.nextLine().split(" ");
をどうにかすれば出来ると思うが、//を外して実行すると
エラーがでてしまう。
Ex_02_05.java:17: error: int cannot be dereferenced
String[] numsStr = n.nextLine().split(" ");
^
1 error
回答1件
あなたの回答
tips
プレビュー