2016-07-14 102 views
0

我想从答案数组中的每个第四个元素循环,并且我的代码不工作。如何使用for循环从数组的每个第n个元素进行循环?

这是输出我需要:

Question 1 
Answer 1 
Answer 2 
Answer 3 
Answer 4 
Question2 
Answer A 
Answer B 
Answer C 
Answer D 

这是我得到的输出:

Question 1 
Answer 1 
Answer 2 
Answer 3 
Answer 4 
Question 2 
Answer 1 
Answer 2 
Answer 3 
Answer 4 

这是我写的代码:

String[]question = new String[2]; 
question[0] = "Question 1"; 
question[2] = "Question 2";  

String[]answer = new String[8]; 
answer[0] = "Answer 1"; 
answer[1] = "Answer 2"; 
answer[2] = "Answer 3"; 
answer[3] = "Answer 4"; 
answer[4] = "Answer A"; 
answer[5] = "Answer B"; 
answer[6] = "Answer C"; 
answer[7] = "Answer D"; 

for (int i = 0; i < question.length; i++) { 
    System.out.println(question[i]); 
    for (int j = 0; j<4; j++) { 
     System.out.println(answer[j]); 
    } 
} 
+0

'System.out.println(answer [i * 4 + j])''。它也应该是'question [1] =“Question 2”;'(数组索引不能等于它的大小)。总的来说,将数组定义为'String questions [] = {“Question1”,“Question2”};' –

+0

感谢Coderino! –

回答

1

你可能只是改变你的代码逻辑一点点

String[]question = new String[2]; 
question[0] = "Question 1"; 
question[2] = "Question 2";  

String[]answer = new String[8]; 
answer[0] = "Answer 1"; 
answer[1] = "Answer 2"; 
answer[2] = "Answer 3"; 
answer[3] = "Answer 4"; 
answer[4] = "Answer A"; 
answer[5] = "Answer B"; 
answer[6] = "Answer C"; 
answer[7] = "Answer D"; 

for (int i = 0; i < question.length; i++) { 

    System.out.println(question[i]); 

    for (int j = i*4; j<(i+1)*4; j++) { 


      System.out.println(answer[j]); 
0

与此

for (int j = i*4; j<(i*4+4); j++) { 

同时更换第二循环的定义,这个

question[1] = "Question 2"; 

我认为这是在您发布的示例代码一个错字代替第三行。

相关问题