java – 在不使用break的情况下打破嵌套的for循环

前端之家收集整理的这篇文章主要介绍了java – 在不使用break的情况下打破嵌套的for循环前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的项目终于完成了,但我唯一的问题是我的老师不接受我们代码中的“中断”.有人可以帮我解决这个问题,我已经做了好几天了,我似乎无法让程序在不使用它们的情况下工作.中断位于我的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;
              }

    }}

解决方法

my teacher does not accept “breaks”

从编程的角度来看,这只是愚蠢的(尽管我确信它具有指导性的优点).

但是在这种特殊情况下有一个简单的解决方法,因为你破坏的循环都在它们各自方法的末尾.因此,您可以使用return语句替换它们.即:

private static void DropYellowDisk(String[][] grid) {

  for (int i=6;i>=0;i--)
    {
      if (grid[i][c] == " ")
      {
        grid[i][c] = "Y";
        return; //break
      }}
}

猜你在找的Java相关文章