質問編集履歴

5

意図的な編集がみられたため、復元しました。

2020/04/21 09:15

投稿

tapipi
tapipi

スコア13

test CHANGED
@@ -1 +1 @@
1
- 分岐 解決いたしましたので 編集いたします
1
+ コマンドライン引数を用いた名前と性別を表示するプログラム (boolean型)
test CHANGED
@@ -1,3 +1,73 @@
1
- 解決したので編集しました。
1
+ ### 前提・実現したいこと
2
2
 
3
+ javaでboolean型を使いコマンドラインから名前と性別を受け取り、
4
+
5
+ 名前と性別を表示するプログラムを作成したいです。
6
+
7
+ コマンドライン引数には,
8
+
9
+ args[0]に氏名、[1]にMまたはFが入っています。
10
+
11
+ 【したい事】
12
+
13
+ boolean isMan = isMan(args[1]);の使い方を理解したい。
14
+
15
+ コマンドライン引数が0の時エラーが表示されないようにしたい。
16
+
17
+ ### 該当のソースコード
18
+
19
+ ```java
20
+
21
+ public static void main(String[] args) {
22
+
23
+          //コマンドライン引数args[1]がMまたはFかどうが判別
24
+
25
+ if(args[1].equals("M") || args[1].equals("F")) {
26
+
27
+
28
+
3
- ご協力感謝いたしま・・・・・・・・・・・・・・・・・・・!!!
29
+ //String型のargs[1]を引数と
30
+
31
+ boolean isMan = isMan(args[1]);
32
+
33
+ //入れ子で場合分け
34
+
35
+ if(args[1].equals("M") ) {
36
+
37
+ out.println("氏名:" + args[0] + "、性別:" + "男性");
38
+
39
+ // args[1]がMまたはF以外の場合、エラー表示
40
+
41
+ }else {
42
+
43
+ out.println("氏名:" + args[0] + "、性別:" + "女性");
44
+
45
+ }
46
+
47
+ }else {
48
+
49
+ out.println("コマンドラインで、氏名と性別を引き渡してください。");
50
+
51
+ }
52
+
53
+ }
54
+
55
+ //真偽値を返すisManメソッド(引数Stringに対して、戻り値true,falseを返す)
56
+
57
+ public static boolean isMan(String isMan) {
58
+
59
+ return isMan.equals("M");
60
+
61
+ }
62
+
63
+ ```
64
+
65
+ ### 試したこと
66
+
67
+ コマンドライン引数が0の時、最初のif条件が原因でエラーが表示される。
68
+
69
+ Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
70
+
71
+ at check.java.Test11.main(Test11.java:14)
72
+
73
+ ※14行目は最初のif文のところです。

4

解決したので編集しました。

2020/04/21 09:15

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- コマンドライン引数を用いた名前と性別を表示るプログラム (boolean型)
1
+ 分岐 解決いたしましたので 編集いたしま
test CHANGED
@@ -1,105 +1,3 @@
1
- ### 前提・実現したいこと
1
+ 解決したので編集しました。
2
2
 
3
- javaでboolean型を使いコマンドラインから名前と性別を受け取り、
4
-
5
- 名前と性別を表示するプログラムを作成したいです。
6
-
7
-
8
-
9
- コマンドライン引数には,
10
-
11
- args[0]に氏名、[1]にMまたはFが入っています。
12
-
13
-
14
-
15
-
16
-
17
- 【したい事】
18
-
19
- boolean isMan = isMan(args[1]);の使い方を理解したい。
20
-
21
- コマンドライン引数が0の時エラーが表示されないようにしたい。
22
-
23
-
24
-
25
-
26
-
27
- ### 該当のソースコード
28
-
29
-
30
-
31
- ```java
32
-
33
-
34
-
35
-
36
-
37
-
38
-
39
- public static void main(String[] args) {
40
-
41
-
42
-
43
-          //コマンドライン引数args[1]がMまたはFかどうが判別
44
-
45
- if(args[1].equals("M") || args[1].equals("F")) {
46
-
47
-
48
-
49
- //String型のargs[1]を引数と
3
+ ご協力感謝いたしま・・・・・・・・・・・・・・・・・・・!!!
50
-
51
- boolean isMan = isMan(args[1]);
52
-
53
-
54
-
55
- //入れ子で場合分け
56
-
57
- if(args[1].equals("M") ) {
58
-
59
- out.println("氏名:" + args[0] + "、性別:" + "男性");
60
-
61
-
62
-
63
- // args[1]がMまたはF以外の場合、エラー表示
64
-
65
- }else {
66
-
67
- out.println("氏名:" + args[0] + "、性別:" + "女性");
68
-
69
- }
70
-
71
- }else {
72
-
73
- out.println("コマンドラインで、氏名と性別を引き渡してください。");
74
-
75
- }
76
-
77
- }
78
-
79
-
80
-
81
- //真偽値を返すisManメソッド(引数Stringに対して、戻り値true,falseを返す)
82
-
83
- public static boolean isMan(String isMan) {
84
-
85
- return isMan.equals("M");
86
-
87
-
88
-
89
- }
90
-
91
- ```
92
-
93
-
94
-
95
- ### 試したこと
96
-
97
-
98
-
99
- コマンドライン引数が0の時、最初のif条件が原因でエラーが表示される。
100
-
101
- Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
102
-
103
- at check.java.Test11.main(Test11.java:14)
104
-
105
- ※14行目は最初のif文のところです。

3

二重になっていたpublic static void main(String[] args) { を削除しました。

2020/04/20 23:03

投稿

tapipi
tapipi

スコア13

test CHANGED
File without changes
test CHANGED
@@ -30,7 +30,7 @@
30
30
 
31
31
  ```java
32
32
 
33
- public static void main(String[] args) {
33
+
34
34
 
35
35
 
36
36
 

2

実現したいことを追加。

2020/04/20 01:25

投稿

tapipi
tapipi

スコア13

test CHANGED
File without changes
test CHANGED
@@ -16,9 +16,9 @@
16
16
 
17
17
  【したい事】
18
18
 
19
- 3行目のboolean変数をうまく使いたい。
19
+ boolean isMan = isMan(args[1]);の使い方を理解したい。
20
20
 
21
- 男性場合と女性の場合で、表示を変えらようにしたい
21
+ コマンドライン引数が0時エラーが表示ないようにしたい
22
22
 
23
23
 
24
24
 

1

コメントを追加。エラー文追加。if文の入れ子により条件分岐。

2020/04/17 13:25

投稿

tapipi
tapipi

スコア13

test CHANGED
File without changes
test CHANGED
@@ -36,19 +36,41 @@
36
36
 
37
37
 
38
38
 
39
- if(isMan(args[1])) {
39
+ public static void main(String[] args) {
40
-
41
- boolean isMan = isMan(args[1]); //これのの活用方法がわからない。
42
40
 
43
41
 
44
42
 
45
- //ここに男性のとき、女性のときで分岐するよにしたいです。
43
+          //コマンドライン引数args[1]がMまたはFかどが判別
46
44
 
47
- System.out.println("氏名:" + args[0] + "、性別:" + "男性");
45
+ if(args[1].equals("M") || args[1].equals("F")) {
48
46
 
49
- } else {
47
+
50
48
 
49
+ //String型のargs[1]を引数とする
50
+
51
+ boolean isMan = isMan(args[1]);
52
+
53
+
54
+
55
+ //入れ子で場合分け
56
+
57
+ if(args[1].equals("M") ) {
58
+
59
+ out.println("氏名:" + args[0] + "、性別:" + "男性");
60
+
61
+
62
+
63
+ // args[1]がMまたはF以外の場合、エラー表示
64
+
65
+ }else {
66
+
67
+ out.println("氏名:" + args[0] + "、性別:" + "女性");
68
+
69
+ }
70
+
71
+ }else {
72
+
51
- System.out.println("コマンドラインで、氏名と性別を引き渡してください。");
73
+ out.println("コマンドラインで、氏名と性別を引き渡してください。");
52
74
 
53
75
  }
54
76
 
@@ -56,27 +78,13 @@
56
78
 
57
79
 
58
80
 
59
- //真偽値を返すメソッド true falseを返す
81
+ //真偽値を返すisManメソッド(引数Stringに対して、戻り値true,falseを返す
60
82
 
61
83
  public static boolean isMan(String isMan) {
62
84
 
63
85
  return isMan.equals("M");
64
86
 
65
87
 
66
-
67
- /** こっちだと長い文章になる
68
-
69
- * if (isMan.equals("M")) {
70
-
71
- * return true;
72
-
73
- * } else {
74
-
75
- * return false;
76
-
77
- * }
78
-
79
- */
80
88
 
81
89
  }
82
90
 
@@ -88,6 +96,10 @@
88
96
 
89
97
 
90
98
 
91
- else ifで分岐せようとも考えましたが、
99
+ コマンドライン引数が0の時、最初のif条件が原因エラーが表示れる。
92
100
 
101
+ Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
102
+
93
- trueとfalse、2つの条件でしか分岐できないと思ってしまいました。
103
+ at check.java.Test11.main(Test11.java:14)
104
+
105
+ ※14行目は最初のif文のところです。