3 回答
TA贡献1845条经验 获得超8个赞
您必须将用户输入检查移出循环,因此算法如下所示:
循环打印所有拥有的方块。
询问用户(在循环之外)他想要开发哪个方格。例如,用户可以简单地提供一个正方形的位置编号,您可以通过
currentPlayer.getOwnedSquares().get(Integer.valueOf(userInput));
用选定的正方形做任何你需要的事情。
TA贡献1869条经验 获得超4个赞
我只是修改了代码进行测试,它可以按您的意愿工作。我认为您还没有分享其他问题。
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
int count=0;
String propertyChoice;
Scanner scanner = new Scanner(System.in);
for (int loop2 = 0; loop2 < 5; loop2++) {
count++;
System.out.println("Would you like to develop this property " + count
+ " (y/n)");
propertyChoice = scanner.nextLine();
if (propertyChoice.equalsIgnoreCase("Y")) {
break;
}else if (propertyChoice.equalsIgnoreCase("N")) {
continue;
}
}
System.out.println("Please choose a development option");
System.out.println("1.Buy a start-up");
System.out.println("2.Buy a global corporation");
}
}
输出:
Would you like to develop this property 1 (y/n)
n
Would you like to develop this property 2 (y/n)
n
Would you like to develop this property 3 (y/n)
y
Please choose a development option
1.Buy a start-up
2.Buy a global corporation
Process finished with exit code 0
TA贡献1836条经验 获得超5个赞
尝试scanner.nextLine();
立即投入propertyChoice = scanner.nextLine();
编辑:如果这不起作用,请注意第二个块else
周围没有括号。if
我不知道这是否可行,因为我没有看到您所指的课程,也不能说有错误。您显示的代码似乎没有任何其他问题。
添加回答
举报