質問編集履歴
3
コンパイル後のエラー
title
CHANGED
File without changes
|
body
CHANGED
@@ -161,4 +161,69 @@
|
|
161
161
|
|
162
162
|
```
|
163
163
|
何をいっているかはわかるのですがどうしたらいいのか。。
|
164
|
-
何か案はございますでしょうか。
|
164
|
+
何か案はございますでしょうか。
|
165
|
+
###追記2
|
166
|
+
たびたびすいません。
|
167
|
+
修正を重ねた結果コンパイルすることはできたのですが、音楽を鳴らす文字aを入力するとエラーが出てしまいます。
|
168
|
+
私が考えるにa(h)の所がまちがっているのでは??と思うのですがわかる方、いらっしゃいますでしょうか。。
|
169
|
+
```
|
170
|
+
import java.util.Scanner;
|
171
|
+
import java.awt.event.*;
|
172
|
+
import java.awt.geom.Ellipse2D;
|
173
|
+
import java.awt.*;
|
174
|
+
import javax.swing.*;
|
175
|
+
import java.util.*;
|
176
|
+
import java.util.Scanner;
|
177
|
+
import java.applet.*;
|
178
|
+
|
179
|
+
import java.awt.event.KeyListener;
|
180
|
+
import java.awt.event.KeyEvent;
|
181
|
+
import java.awt.event.InputEvent;
|
182
|
+
|
183
|
+
public class KRY {
|
184
|
+
public AudioClip audioBass = Applet.newAudioClip(getClass().getResource("音楽ファイル"));
|
185
|
+
static KRY h;
|
186
|
+
public static void main(String[] argst) {
|
187
|
+
String s[] = new String[5];
|
188
|
+
|
189
|
+
Scanner sc = new Scanner(System.in);
|
190
|
+
for (int i = 0; i < s.length; i++) {
|
191
|
+
System.out.println("please tipe");
|
192
|
+
s[i] = sc.next();
|
193
|
+
}
|
194
|
+
|
195
|
+
for (int i = 0; i < s.length; i++) {
|
196
|
+
System.out.printf("s[%d]=%s\n", i, s[i]);
|
197
|
+
|
198
|
+
switch (s[i]) {
|
199
|
+
case "a":
|
200
|
+
a();
|
201
|
+
break;
|
202
|
+
default:
|
203
|
+
break;
|
204
|
+
}
|
205
|
+
}
|
206
|
+
}
|
207
|
+
public static void a(KRY h) {
|
208
|
+
h.audioBass.play();
|
209
|
+
}
|
210
|
+
}
|
211
|
+
```
|
212
|
+
次が実行文とエラー文です。
|
213
|
+
```
|
214
|
+
please tipe
|
215
|
+
s
|
216
|
+
please tipe
|
217
|
+
s
|
218
|
+
please tipe
|
219
|
+
s
|
220
|
+
please tipe
|
221
|
+
a
|
222
|
+
s[0]=s
|
223
|
+
s[1]=s
|
224
|
+
s[2]=s
|
225
|
+
s[3]=a
|
226
|
+
Exception in thread "main" java.lang.NullPointerException
|
227
|
+
at KRY.a(KRY.java:39);
|
228
|
+
at KRY.main(KRY.java:31);
|
229
|
+
```
|
2
エラー文書き忘れました。すいません。
title
CHANGED
File without changes
|
body
CHANGED
@@ -149,5 +149,16 @@
|
|
149
149
|
}
|
150
150
|
```
|
151
151
|
これを実行してみたところこのエラーが出ます。
|
152
|
+
```
|
153
|
+
クラス KRYのメソッド aは指定された型に適用できません。
|
154
|
+
a(s);
|
155
|
+
^
|
156
|
+
期待値: KRY
|
157
|
+
検出値: String[]
|
158
|
+
理由: 実引数String[]はメソッド呼出変換によってKRYに変換できません
|
159
|
+
エラー1個
|
160
|
+
|
161
|
+
|
162
|
+
```
|
152
163
|
何をいっているかはわかるのですがどうしたらいいのか。。
|
153
164
|
何か案はございますでしょうか。
|
1
問題の不備と改編
title
CHANGED
File without changes
|
body
CHANGED
@@ -106,4 +106,48 @@
|
|
106
106
|
staticでない変数 audioBassをstaticコンテキストから参照することはできません
|
107
107
|
audioBass.play();
|
108
108
|
```
|
109
|
-
とでてしまいますどうしたらいいでしょうか。
|
109
|
+
とでてしまいますどうしたらいいでしょうか。
|
110
|
+
|
111
|
+
###追記
|
112
|
+
問題に不備がありましたのと回答をふまえてコードを下記のようにしてみましたが
|
113
|
+
```
|
114
|
+
import java.util.Scanner;
|
115
|
+
import java.applet.*;
|
116
|
+
public class KRY {
|
117
|
+
|
118
|
+
public AudioClip audioBass = Applet.newAudioClip(getClass().getResource("./WAV/Bass.wav"));
|
119
|
+
public static void main(String[] argst) {
|
120
|
+
|
121
|
+
|
122
|
+
// 文字をキーボードから入力し、配列に記憶
|
123
|
+
String s[] = new String[5];
|
124
|
+
// Scannerクラスのインスタンスの生成
|
125
|
+
Scanner sc = new Scanner(System.in);
|
126
|
+
for (int i = 0; i < s.length; i++) {
|
127
|
+
System.out.println("文字を入力");
|
128
|
+
// 文字をキーボードから入力し、配列に記憶
|
129
|
+
s[i] = sc.next();
|
130
|
+
}
|
131
|
+
|
132
|
+
for (int i = 0; i < s.length; i++) {
|
133
|
+
System.out.printf("s[%d]=%s\n", i, s[i]);
|
134
|
+
|
135
|
+
switch (s[i]) {
|
136
|
+
case "a":
|
137
|
+
a(s);
|
138
|
+
break;
|
139
|
+
default:
|
140
|
+
break;
|
141
|
+
}
|
142
|
+
}
|
143
|
+
|
144
|
+
}
|
145
|
+
|
146
|
+
public static void a(KRY s) {
|
147
|
+
s.audioBass.play();
|
148
|
+
}
|
149
|
+
}
|
150
|
+
```
|
151
|
+
これを実行してみたところこのエラーが出ます。
|
152
|
+
何をいっているかはわかるのですがどうしたらいいのか。。
|
153
|
+
何か案はございますでしょうか。
|