質問編集履歴
4
プログラムの追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -153,4 +153,68 @@
|
|
153
153
|
}
|
154
154
|
}
|
155
155
|
|
156
|
+
```
|
157
|
+
|
158
|
+
junziさんにプログラムのコードを書いていただきそれを実際に書いて実行してみました。
|
159
|
+
が、私の考えているプログラムに今一歩足りなくて、、、、
|
160
|
+
やりたいことは以下の通りです。
|
161
|
+
わかる方がいらっしゃいましたらお力をお貸しください。
|
162
|
+
|
163
|
+
```Java
|
164
|
+
package practice;
|
165
|
+
|
166
|
+
import java.util.Scanner;
|
167
|
+
|
168
|
+
public class Practice41 {
|
169
|
+
public static void main(String[]args) {
|
170
|
+
|
171
|
+
//"性別と年齢を入力し、それぞれに対応した入場料金を出力する。
|
172
|
+
//・boyで20歳以上の時は2000円
|
173
|
+
//・boyで20歳未満の時は1800円
|
174
|
+
//・girlで20歳以上の時は1600円
|
175
|
+
//・girlで20歳未満の時は1400円"
|
176
|
+
|
177
|
+
System.out.println("性別を入力してください。");
|
178
|
+
|
179
|
+
Scanner scanner = new Scanner(System.in);
|
180
|
+
|
181
|
+
String gender = scanner.nextLine();
|
182
|
+
|
183
|
+
if (gender.matches("boy||男||おとこ||girl||女||おんな")) {
|
184
|
+
System.out.println(gender);
|
185
|
+
} else {
|
186
|
+
System.out.println("正しく入てください。");
|
187
|
+
}
|
188
|
+
|
189
|
+
//性別以外の文字を入力しても「年齢入力」のコードにいってしまう。
|
190
|
+
//ここで性別以外の文字が入ったら次の命令に行かないようにしたい。
|
191
|
+
//またはもう一度『性別の入力』へループさせたい。
|
192
|
+
|
193
|
+
System.out.println("年齢を入力してください。");
|
194
|
+
|
195
|
+
String ageStr = scanner.nextLine();
|
196
|
+
int age = Integer.parseInt(ageStr);
|
197
|
+
scanner.close();
|
198
|
+
if (gender.equals("boy") || gender.equals("男") || gender.equals("おとこ")) {
|
199
|
+
if (age >= 20) {
|
200
|
+
System.out.println("2000円");
|
201
|
+
} else {
|
202
|
+
System.out.println("1800円");
|
203
|
+
}
|
204
|
+
|
205
|
+
//ここからしたのプログラムが動作しない。
|
206
|
+
//「girl、女、おんな」をいれ、年齢をいれたあとに値段の表示がされない。
|
207
|
+
|
208
|
+
|
209
|
+
if (gender.equals("girl") || gender.equals("女") || gender.equals("おんな")) {
|
210
|
+
if (age >= 20) {
|
211
|
+
System.out.println("1600円");
|
212
|
+
} else {
|
213
|
+
System.out.println("1400円");
|
214
|
+
}
|
215
|
+
}
|
216
|
+
}
|
217
|
+
}
|
218
|
+
}
|
219
|
+
|
156
220
|
```
|
3
修正プログラムの追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -57,4 +57,100 @@
|
|
57
57
|
|
58
58
|
お分かりになる方がいらっしゃいましたらお力を貸してください。
|
59
59
|
|
60
|
-
よろしくお願いいたします。
|
60
|
+
よろしくお願いいたします。
|
61
|
+
|
62
|
+
プログラムを修正したのですが、はじめの『boy』のみうまくいき、
|
63
|
+
あとのプログラムが思ったように動作してくれません。
|
64
|
+
またプログラムが長すぎるのですが、私にはいまいちわからずお力を
|
65
|
+
貸していただきたいです。
|
66
|
+
(現在も試行錯誤中です。)
|
67
|
+
|
68
|
+
```Java
|
69
|
+
package practice;
|
70
|
+
|
71
|
+
import java.util.Scanner;
|
72
|
+
|
73
|
+
public class Practice4 {
|
74
|
+
|
75
|
+
public static void main(String[]args) {
|
76
|
+
|
77
|
+
//"性別と年齢を入力し、それぞれに対応した入場料金を出力する。
|
78
|
+
//・boyで20歳以上の時は2000円
|
79
|
+
//・boyで20歳未満の時は1800円
|
80
|
+
//・girlで20歳以上の時は1600円
|
81
|
+
//・girlで20歳未満の時は1400円"
|
82
|
+
|
83
|
+
System.out.println("性別を入力してください。");
|
84
|
+
|
85
|
+
Scanner scanner = new Scanner(System.in);
|
86
|
+
|
87
|
+
String gender = scanner.nextLine();
|
88
|
+
|
89
|
+
try {
|
90
|
+
if(gender.matches("boy")) {
|
91
|
+
System.out.println("boy");
|
92
|
+
System.out.println("年齢を入力してください。");
|
93
|
+
int age = scanner.nextInt();
|
94
|
+
if ( age >= 20 ) {
|
95
|
+
System.out.println("2000円");
|
96
|
+
} else if ( age <= 19 ) {
|
97
|
+
System.out.println("1800円");
|
98
|
+
|
99
|
+
} else if (gender.matches("男")) {
|
100
|
+
System.out.println("男");
|
101
|
+
System.out.println("年齢を入力してください。");
|
102
|
+
if ( age >= 20 ) {
|
103
|
+
System.out.println("2000円");
|
104
|
+
} else if ( age <= 19 ) {
|
105
|
+
System.out.println("1800円");
|
106
|
+
|
107
|
+
} else if (gender.matches("おとこ")) {
|
108
|
+
System.out.println("おとこ");
|
109
|
+
System.out.println("年齢を入力してください。");
|
110
|
+
if ( age >= 20 ) {
|
111
|
+
System.out.println("2000円");
|
112
|
+
} else if ( age <= 19 ) {
|
113
|
+
System.out.println("1800円");
|
114
|
+
|
115
|
+
} else if (gender.matches("girl")) {
|
116
|
+
System.out.println("girl");
|
117
|
+
System.out.println("年齢を入力してください。");
|
118
|
+
if ( age >= 20 ) {
|
119
|
+
System.out.println("1600円");
|
120
|
+
} else if ( age <= 19 ) {
|
121
|
+
System.out.println("1400円");
|
122
|
+
|
123
|
+
} else if (gender.matches("女")) {
|
124
|
+
System.out.println("女");
|
125
|
+
System.out.println("年齢を入力してくだい。");
|
126
|
+
if ( age >= 20 ) {
|
127
|
+
System.out.println("1600円");
|
128
|
+
} else if ( age <= 19 ) {
|
129
|
+
System.out.println("1400円");
|
130
|
+
|
131
|
+
} else if (gender.matches("おんな")) {
|
132
|
+
System.out.println("おんな");
|
133
|
+
System.out.println("年齢を入力してください。");
|
134
|
+
if ( age >= 20 ) {
|
135
|
+
System.out.println("1600円");
|
136
|
+
} else if ( age <= 19 ) {
|
137
|
+
System.out.println("1400円");
|
138
|
+
|
139
|
+
} else {
|
140
|
+
System.out.println("正しく入力してください。");
|
141
|
+
}
|
142
|
+
}
|
143
|
+
}
|
144
|
+
}
|
145
|
+
}
|
146
|
+
}
|
147
|
+
}
|
148
|
+
} catch(Exception e) { // エラー(Exception)発生時のみ
|
149
|
+
e.printStackTrace();
|
150
|
+
} finally {
|
151
|
+
scanner.close();
|
152
|
+
}
|
153
|
+
}
|
154
|
+
}
|
155
|
+
|
156
|
+
```
|
2
コードの編集
title
CHANGED
File without changes
|
body
CHANGED
@@ -40,10 +40,10 @@
|
|
40
40
|
|
41
41
|
System.out.println("年齢を入力してください。");
|
42
42
|
|
43
|
-
|
44
43
|
if (gender.matches("boy"));
|
45
44
|
if (gender.matches("男"));
|
46
|
-
|
45
|
+
int age = scanner.nextInt();
|
46
|
+
} else if (age >= 20);{
|
47
47
|
System.out.println("2000円");
|
48
48
|
} else if (age <= 19 );{
|
49
49
|
System.out.println("1800円");
|
1
本文の編集
title
CHANGED
File without changes
|
body
CHANGED
@@ -53,4 +53,8 @@
|
|
53
53
|
|
54
54
|
```
|
55
55
|
|
56
|
-
このプログラの男性、女性、年齢によって金額を変える分岐がうまくいきません。
|
56
|
+
このプログラの男性、女性、年齢によって金額を変える分岐がうまくいきません。
|
57
|
+
|
58
|
+
お分かりになる方がいらっしゃいましたらお力を貸してください。
|
59
|
+
|
60
|
+
よろしくお願いいたします。
|