【问题标题】:How do I put this program in a loop我如何把这个程序放在一个循环中
【发布时间】:2015-05-10 18:39:17
【问题描述】:

我想用 Dr Java 做一个井字游戏。

  1. 我要一个 0-8 之间的数字。您选择数字 5。
  2. 然后它应该打印出井字棋盘,其中 5 将被 X 替换。
  3. 然后我再问你一个 0-8 之间的数字。假设您选择 3。
  4. 然后它应该显示井字棋盘,其中 5 和 3 将被 X 替换。

如果你能帮助这个项目,那就太好了。

顺便说一句,这只是方法,我还是要写主体。

这是我在 Dr Java 中完成的代码。

import java.util.Scanner;

public class TicTacToeArray {

  public static void main(String[] args){

    Scanner in = new Scanner(System.in);

    int [] A1 = {0,1,2};
    int [] A2 = {3,4,5};
    int [] A3 = {6,7,8};
    int [] A4 = {0,3,6};
    int [] A5 = {1,4,7};
    int [] A6 = {2,5,8};
    int [] A7 = {0,4,8};
    int [] A8 = {2,4,6};


    System.out.println("Player #1: Please enter a number between 0-8");
    int playerOne = in.nextInt();  

    if (playerOne == A1 [0]){
      System.out.println("           |          |          ");
      System.out.println("    X      |    1     |     2    ");
      System.out.println("           |          |          ");    
      System.out.println("  -------------------------------");    
      System.out.println("           |          |          ");
      System.out.println("    3      |    4     |     5    ");
      System.out.println("           |          |          ");    
      System.out.println("  -------------------------------");      
      System.out.println("           |          |          ");
      System.out.println("    6      |    7     |     8    ");
      System.out.println("           |          |          ");


    }else if (playerOne ==A1 [2]){
      System.out.println("           |          |          ");
      System.out.println("    0      |    1     |    X     ");
      System.out.println("           |          |          ");    
      System.out.println("  -------------------------------");    
      System.out.println("           |          |          ");
      System.out.println("    3      |    4     |     5    ");
      System.out.println("           |          |          ");    
      System.out.println("  -------------------------------");      
      System.out.println("           |          |          ");
      System.out.println("    6      |    7     |     8    ");
      System.out.println("           |          |          ");

    }else if (playerOne ==A2 [0]){
      System.out.println("           |          |          ");
      System.out.println("    0      |    1     |    2     ");
      System.out.println("           |          |          ");    
      System.out.println("  -------------------------------");    
      System.out.println("           |          |          ");
      System.out.println("    X      |    4     |     5    ");
      System.out.println("           |          |          ");    
      System.out.println("  -------------------------------");      
      System.out.println("           |          |          ");
      System.out.println("    6      |    7     |     8    ");
      System.out.println("           |          |          ");


    }else if (playerOne ==A2 [1]){
      System.out.println("           |          |          ");
      System.out.println("    0      |    1     |    2     ");
      System.out.println("           |          |          ");    
      System.out.println("  -------------------------------");    
      System.out.println("           |          |          ");
      System.out.println("    3      |    X     |     5    ");
      System.out.println("           |          |          ");    
      System.out.println("  -------------------------------");      
      System.out.println("           |          |          ");
      System.out.println("    6      |    7     |     8    ");
      System.out.println("           |          |          ");


    }else if (playerOne ==A2 [2]){
      System.out.println("           |          |          ");
      System.out.println("    0      |    1     |    2     ");
      System.out.println("           |          |          ");    
      System.out.println("  -------------------------------");    
      System.out.println("           |          |          ");
      System.out.println("    3      |    4     |    X     ");
      System.out.println("           |          |          ");    
      System.out.println("  -------------------------------");      
      System.out.println("           |          |          ");
      System.out.println("    6      |    7     |     8    ");
      System.out.println("           |          |          ");


    }else if (playerOne ==A3 [0]){
      System.out.println("           |          |          ");
      System.out.println("    0      |    1     |    2     ");
      System.out.println("           |          |          ");    
      System.out.println("  -------------------------------");    
      System.out.println("           |          |          ");
      System.out.println("    3      |    4     |    5     ");
      System.out.println("           |          |          ");    
      System.out.println("  -------------------------------");      
      System.out.println("           |          |          ");
      System.out.println("    X      |    7     |     8    ");
      System.out.println("           |          |          ");


    }else if (playerOne ==A3 [1]){
      System.out.println("           |          |          ");
      System.out.println("    0      |    1     |    2     ");
      System.out.println("           |          |          ");    
      System.out.println("  -------------------------------");    
      System.out.println("           |          |          ");
      System.out.println("    3      |    4     |    5     ");
      System.out.println("           |          |          ");    
      System.out.println("  -------------------------------");      
      System.out.println("           |          |          ");
      System.out.println("    6      |    X     |     8    ");
      System.out.println("           |          |          "); 

    }else if (playerOne ==A3 [2]){
      System.out.println("           |          |          ");
      System.out.println("    0      |    1     |    2     ");
      System.out.println("           |          |          ");    
      System.out.println("  -------------------------------");    
      System.out.println("           |          |          ");
      System.out.println("    3      |    4     |    5     ");
      System.out.println("           |          |          ");    
      System.out.println("  -------------------------------");      
      System.out.println("           |          |          ");
      System.out.println("    6      |    7     |     X    ");
      System.out.println("           |          |          ");

    }else {
      System.out.println("Try Again");

    }
    return -1;
  }

【问题讨论】:

  • Java 和 JavaScript 是完全不同的语言。请确保您只选择与您的实际问题相关的标签。这次我给你修好了。
  • 打字太多了……
  • 那么你能帮我做这件事吗?
  • hmmmm 你能把问题说得更清楚吗?我觉得问题标题无关
  • “如果你能帮助这个程序,那就太好了。”不是问题。 Stack Overflow 会回答作业中出现的具体问题,但不会为你做作业。

标签: java arrays


【解决方案1】:

虽然这不是一个好问题.. 但这就是您想要的,只需将所有逻辑保持在条件始终正确的循环中..就像这样..

while ( true ) {
   int playerOne = in.nextInt();  

   if (playerOne == A1 [0]){
      System.out.println("           |          |          ");
      System.out.println("    X      |    1     |     2    ");
      System.out.println("           |          |          ");    
      System.out.println("  -------------------------------");   
        //......
        // All other if conditions here
        //......

       else {
         System.out.println("Try Again");
            }
     }  //Means include all data in loop while (true)
      return -1;
    }

它将永远运行,您必须通过某些条件手动破坏它。 喜欢

        if (tries == 5)
            break ;

【讨论】:

  • 我现在如何检查它。通过检查,我的意思是,假设你输入了 2,现在 2 将被 X 替换,我再问你一次,U 输入了 1,我需要写什么才能打印上一个井字棋盘和当前棋盘。
【解决方案2】:

这里应该如何使用 while 循环。由于您需要在这里做一些事情,所以没有将我的 wins() 方法逻辑放在这里。你可以自己写一个。

Scanner scanner = new Scanner(System.in);
    char[][] ttt = new char[][] {
           {'N', 'N', 'N'},
           {'N', 'N', 'N'},
           {'N', 'N', 'N'}
    };

    int i=0;
    boolean result = false;
    while (i<9) {
        String s = scanner.next();
        try {
           int number = Integer.parseInt(s);
           if (number > 8) {
              System.out.println("Number greater than 8.");
              continue;
           }

           char playerCharacter;
           if (i%2 == 0) {
              playerCharacter = 'X';  
           } else {
              playerCharacter = 'O';
           }

           int row = number / 3;
           int col = number % 3;

           if (ttt[row][col] == 'X' || ttt[row][col] == 'Y') {
               System.out.println("Entered place already taken.");
               continue;  
           }

           if (win(ttt, row, col)) {
               System.out.println(playerCharacter + " wins");
               result = true;
               break;
           }


        } catch (NumberFormatException e) {
            System.out.println("Number entered is incorrect.");
            continue;
        }
        i++;
    }
    if (!result) {
        System.out.println("Match drawn");   
    }

【讨论】:

  • 我现在如何检查它。通过检查,我的意思是,假设你输入了 2,现在 2 将被 X 替换,我再问你一次,U 输入了 1,我需要写什么才能打印上一个井字棋盘和当前棋盘。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-07-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多