teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

5

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

2020/04/21 09:15

投稿

tapipi
tapipi

スコア13

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

4

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

2020/04/21 09:15

投稿

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

3

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

2020/04/20 23:03

投稿

tapipi
tapipi

スコア13

title CHANGED
File without changes
body CHANGED
@@ -14,9 +14,9 @@
14
14
  ### 該当のソースコード
15
15
 
16
16
  ```java
17
- public static void main(String[] args) {
18
17
 
19
18
 
19
+
20
20
  public static void main(String[] args) {
21
21
 
22
22
           //コマンドライン引数args[1]がMまたはFかどうが判別

2

実現したいことを追加。

2020/04/20 01:25

投稿

tapipi
tapipi

スコア13

title CHANGED
File without changes
body CHANGED
@@ -7,8 +7,8 @@
7
7
 
8
8
 
9
9
  【したい事】
10
- 3行目のboolean変数をうまく使いたい。
10
+ boolean isMan = isMan(args[1]);の使い方を理解したい。
11
- 男性場合と女性の場合で、表示を変えらようにしたい
11
+ コマンドライン引数が0時エラーが表示ないようにしたい
12
12
 
13
13
 
14
14
  ### 該当のソースコード

1

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

2020/04/17 13:25

投稿

tapipi
tapipi

スコア13

title CHANGED
File without changes
body CHANGED
@@ -17,31 +17,37 @@
17
17
  public static void main(String[] args) {
18
18
 
19
19
 
20
- if(isMan(args[1])) {
20
+ public static void main(String[] args) {
21
- boolean isMan = isMan(args[1]); //これのの活用方法がわからない。
22
21
 
23
- //ここに男性のとき、女性のときで分岐するようにしいです。
22
+          //コマンドライン引数args[1]がMまはFかどうが判別
23
+ if(args[1].equals("M") || args[1].equals("F")) {
24
+
25
+ //String型のargs[1]を引数とする
26
+ boolean isMan = isMan(args[1]);
27
+
28
+ //入れ子で場合分け
29
+ if(args[1].equals("M") ) {
24
- System.out.println("氏名:" + args[0] + "、性別:" + "男性");
30
+ out.println("氏名:" + args[0] + "、性別:" + "男性");
31
+
32
+ // args[1]がMまたはF以外の場合、エラー表示
33
+ }else {
34
+ out.println("氏名:" + args[0] + "、性別:" + "女性");
35
+ }
25
- } else {
36
+ }else {
26
- System.out.println("コマンドラインで、氏名と性別を引き渡してください。");
37
+ out.println("コマンドラインで、氏名と性別を引き渡してください。");
27
38
  }
28
39
  }
29
40
 
30
- //真偽値を返すメソッド true falseを返す
41
+ //真偽値を返すisManメソッド(引数Stringに対して、戻り値true,falseを返す
31
42
  public static boolean isMan(String isMan) {
32
43
  return isMan.equals("M");
33
44
 
34
- /** こっちだと長い文章になる
35
- * if (isMan.equals("M")) {
36
- * return true;
37
- * } else {
38
- * return false;
39
- * }
40
- */
41
45
  }
42
46
  ```
43
47
 
44
48
  ### 試したこと
45
49
 
46
- else ifで分岐させようとも考えましたが、
47
- trueとfalse2つの条件でしか分岐できないと思ってしまいました
50
+ コマンドライン引数が0の時最初if条件が原因エラーが表示される
51
+ Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
52
+ at check.java.Test11.main(Test11.java:14)
53
+ ※14行目は最初のif文のところです。