我的项目终于完成了,但是我唯一的问题是我的老师不接受代码中的“中断”。有人可以帮我解决这个问题吗,我已经研究了好几天了,但是好像不使用它们就无法使该程序正常工作。这些中断位于我的DropYellowDisk和DropRedDisk方法中。除此之外,我的四连程序是完美无缺的。
private static void DropYellowDisk(String[][] grid) {
int number = 0;
Scanner keyboard = new Scanner (System.in);
System.out.println("Drop a yellow disk at column (1–7): ");
int c = 2*keyboard.nextInt()+1;
for (int i=6;i>=0;i--)
{
if (grid[i][c] == " ")
{
grid[i][c] = "Y";
break;
}}
}
private static void DropRedDisk(String[][] grid) {
Scanner keyboard = new Scanner (System.in);
System.out.print("Drop a red disk at column (1–7): ");
int c = 2*keyboard.nextInt()+1;
for (int i =6;i>=0;i--)
{
if (grid[i][c] == " ")
{
grid[i][c] = "R";
break;
}
}}
最佳答案
从编程的角度来看,这简直是愚蠢的(尽管我确信它具有指导性的优点)。
但是在这种特殊情况下,有一个简单的解决方法,因为break
的循环全部位于其各自方法的末尾。这样,您可以将它们替换为return
语句。 IE:
private static void DropYellowDisk(String[][] grid) {
for (int i=6;i>=0;i--)
{
if (grid[i][c] == " ")
{
grid[i][c] = "Y";
return; //break
}}
}