前提・実現したいこと
javaを使用して「英文の穴埋め」問題を作成しています。
回答は回答番号1〜4から正解を1つ選ぶ4択式なのですが、最後に不正解の問題番号を出力したいです。
発生している問題・エラーメッセージ
ここでは、間違った問題番号を出力するためのコードを教えていただきたいです。
よろしくお願いいたします。
該当のソースコード
Java
1import java.io.*; 2 3public class Eitango 4{ 5 public static void main(String[] args) throws IOException 6 { 7 BufferedReader br= 8 new BufferedReader(new InputStreamReader(System.in)); 9 String[] Q=new String[11]; 10 11 Q[1]="A: Can I borrow your camera ?\n" 12 +"B: Sure, but it doesn't ( ) very well." 13 +"It's very old.\n" 14 +"1,work 2,play 3,speak 4,live"; 15 16 Q[2]="A: Have you finished your homework, Ken ?\n" 17 +"B: No. I'm ( ) doing it.\n" 18 +"1,often 2,long 3,still 4,fun "; 19 20 Q[3]="A: My name is Christopher, but my friends ( ) me Chris. \n" 21 +"1,say 2,call 3,speak 4,tell " ; 22 23 Q[4]="A:Kate really ( ) herself last year.\n" 24 +"She wants to go there again this year.\n" 25 +"1,time 2,enjoyed 3,put 4,passed"; 26 27 Q[5]="A: Excuse me. I ask you a ( ) ?\n" 28 +"B: Sure.\n" 29 +"1,sorry 2,favor 3,please 4,door"; 30 31 Q[6]="A: Hello. This is Sam. Can I speak to Lisa ?\n" 32 +"B: ( ). She is out now.\n" 33 +"1,Sorry 2,Thanks 3,Great 4,OK"; 34 35 Q[7]="A: I want be a singer. How ( ) you ?\n" 36 +"1,much 2,many 3,about 4,often"; 37 38 Q[8]="A: Are you free on Sunday ? We'll have a party.\n" 39 +"B: Yes. What ( ) ?\n" 40 +"A: At noon.\n" 41 +"1,time 2,kind 3,party 4,up"; 42 43 Q[9]="A: We go to school ( ) Monday to Friday. \n" 44 +"1,too 2,on 3,in 4,from"; 45 46 Q[10]="A:What ( ) of music do you like the best ?\n" 47 +"B: I like rock music the best.\n" 48 +"1,kind 2,time 3,subject 4,place"; 49 50 int[] V={ 0, 1, 3, 2, 2, 2, 1, 2, 1, 4, 1}; // 解答リスト 51 int correct=0,error=0,errornum,total=10; 52 53 for (int i=1; i<=10; i++) 54 { 55 System.out.println(Q[i]); // 問題の表示 56 System.out.print("1~4 の番号を入れて下さい=>"); 57 int ans=Integer.parseInt(br.readLine()); // 回答の入力 58 if (ans==V[i])correct++; // 正解の場合 59 else if (ans!=V[i]) errornum = V[i]; 60 else error++; // 不正解の場合 61 System.out.println(); 62 } 63 64 System.out.println("10 問中 "+correct+"問正解でした."); 65 int percent = correct * 100 / total; 66 System.out.println("正答率は"+ percent + "%でした."); 67 System.out.println("不正解番号は"+ V[i} + "番でした."); 68 69 } 70} 71 72
試したこと
間違った問題の配列番号を読み取って、その問題番号を出力するために
else if (ans!=V[i]) errornum = V[i] //for文の中に記入 System.out.println("不正解番号は"+ V[i} + "番でした."); //全体の最後
を記入しているのですが、コンパイルに失敗してしまい、下記のエラーが表示されました。
Eitango.java:67: エラー: ']'がありません System.out.println("不正解番号は"+ V[i} + "番でした."); ^ Eitango.java:67: エラー: 文ではありません System.out.println("不正解番号は"+ V[i} + "番でした."); ^ Eitango.java:67: エラー: ';'がありません System.out.println("不正解番号は"+ V[i} + "番でした."); ^ Eitango.java:67: エラー: '\u3000'は不正な文字です System.out.println("不正解番号は"+ V[i} + "番でした."); ^ Eitango.java:69: エラー: '\u3000'は不正な文字です } ^ Eitango.java:69: エラー: ';'がありません } ^ Eitango.java:70: エラー: 構文解析中にファイルの終わりに移りました } ^ エラー7個
どうしても解決方法が思いつかず、配列の処理がわからない状況です。
どなたか、配列の処理方法を教えていただけませんか。
補足情報(FW/ツールのバージョンなど)
エディター:Atom
PC:Mac
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー