【发布时间】:2014-02-16 18:30:22
【问题描述】:
程序应该在最后一个问题被回答后结束并给出正确答案的数量。相反,程序回到循环中的初始问题。 “阿拉巴马州的首府是什么”
package exercise09_17;
import java.util.Scanner;
public class exercise09_17 {
static Scanner input = new Scanner(System.in).useDelimiter("\r\n");
public static void main(String[] args) {
int correctAnswer = 0;
String [][] grid = {
{"Alabama", "California", "Delaware", "Florida", "Georgia",
"Hawaii", "Idaho", "Kansas", "Lousiana", "Maryland", "New Mexico", "Oregon",
"Pennsylvania", "Rhode Island", "South Carolina", "Texas", "Utah", "Virgina",
"West Virginia"},
{"Montgomery", "Sacramento", "Dover", "Tallahassee", "Atlanta",
"Honolulu", "Boise", "Topeka", "Baton Rouge", "Annapolis", "San Jose", "Salem",
"Harrisburg", "Providence", "Columbia", "Austin", "Salt Lake City", "Richmond",
"Charleston"}};
for(int i = 0; i< grid.length; i++){
for(int k = 0; k < grid[i].length; k++ ){
System.out.println("What is the capital of " + grid[0][k] + "?");
String capital = input.next();
String answer = grid[1][k];
if(capital.equalsIgnoreCase(answer)){
correctAnswer ++;
System.out.println("Your answer is correct");
}
else
System.out.println("The correct answer should be " + answer);
}
}
System.out.println("The correct count is " + correctAnswer);
}
}
【问题讨论】:
-
这不是无限的。由于循环的嵌套,它只是在重复自己。
-
打印计数的语句在循环内。
标签: java loops multidimensional-array infinite