引数の個数は args.length に入っているので、
if文でそれをチェックしてください。
数値が入力されなかった場合と、1より小さい数値が入力された場合とで
「1以上の数を入力してください」という一つのメッセージを表示したいのであれば、
if文の式はちょっと複雑になります。
Java
1class Test {
2 public static void main(String[] args) {
3 if (args.length != 1) {
4 System.out.println("引数を一つ入力してください");
5 return;
6 }
7 int n1;
8 if (!isNumber(args[0]) || (n1 = Integer.parseInt(args[0])) < 1) {
9 System.out.println("1以上の整数値を入力してください");
10 return;
11 }
12 System.out.println("ランダム数値を" + n1 + "個生成します");
13 }
14
15 public static boolean isNumber(String num) {
16 try {
17 Integer.parseInt(num);
18 return true;
19 } catch(NumberFormatException e) {
20 return false;
21 }
22 }
23}
もちろん、絶対にこのように書かなければならないというわけではありません。
if文をもっと単純にする書き方もあります。興味ありますか?
追記
if文は単純になりますが、同じメッセージの表示が必要になります。
Java
1class Test {
2 public static void main(String[] args) {
3 if (args.length != 1) {
4 System.out.println("引数を一つ入力してください");
5 return;
6 }
7 if (!isNumber(args[0])) {
8 System.out.println("1以上の整数値を入力してください");
9 return;
10 }
11 int n1 = Integer.parseInt(args[0]);
12 if (n1 < 1) {
13 System.out.println("1以上の整数値を入力してください");
14 return;
15 }
16 System.out.println("ランダム数値を" + n1 + "個生成します");
17 }
18
19 public static boolean isNumber(String num) {
20 try {
21 Integer.parseInt(num);
22 return true;
23 }
24 catch(NumberFormatException e) {
25 return false;
26 }
27 }
28}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/27 09:17
2020/08/27 09:18
2020/08/27 09:19
2020/08/27 09:21
2020/08/27 09:26
2020/08/27 09:54
2020/08/27 10:11
2020/08/27 10:39
2020/08/27 10:58
2020/08/27 11:06
2020/08/27 11:17