问题描述
我想在 for 循环中创建一个公共字符串变量,我什至可以在它之外使用它。我知道这在 C# 中是可能的,只需将字符串标记为公共,但在 Java 中做同样的事情不会似乎可以解决问题。有什么建议吗?
for (int i = 0; i < answerList.size(); i++) {
System.out.println(answerList.get(i).q);
answerList.get(i).spot = i;
System.out.println(answerList.get(i).spot);
switch (answerList.get(i).spot) {
case 0:
if(answerList.get(i).correct = true) {
String correctAns = "a";
String correctAnsVariantTwo = "A";
break;
}
case 1:
if(answerList.get(i).correct = true) {
String correctAns = "b";
String correctAnsVariantTwo = "B";
break;
}
case 2:
if(answerList.get(i).correct = true) {
String correctAns = "c";
String correctAnsVariantTwo = "C";
break;
}
case 3:
if(answerList.get(i).correct = true) {
String correctAns = "d";
String correctAnsVariantTwo = "D";
break;
}
}
}
Scanner a = new Scanner(system.in);
String ats = a.nextLine();
if(ats.equals(correctAns)) {
//do something
}
解决方法
你能做的就是在循环外声明那个变量,即使它是空的,并在你需要的时候给它一个值(最好在开始时这样做,但在循环中这样做是有效的。它是当我需要处理循环内外的变量时,我会怎么做。
,我在 switch 语句之外声明了字符串,现在一切正常。