Java 如何结合这两种方法来打印动态游戏板?

Java 如何结合这两种方法来打印动态游戏板?,java,Java,我的学校要求我们用动态游戏板制作一个Tictatcoe游戏。我以前没有做过类似的事情,因为这不是必需的,而且我不擅长编程。我试图寻找示例代码和视频,但没有任何东西对我有帮助 我已经成功地创建了一个方法,它可以向用户询问尺寸(宽度和高度),另一个方法可以打印游戏板,它只是*表示边框,而-'表示空位。我真的不在乎我的游戏看起来如何,只要它工作,但如果有任何技术原因,为什么董事会应该是不同的,请让我知道 问题:我不知道如何组合这两个文件使其工作,所以它向用户询问2个值并打印NxM游戏板 此选项分别向用

我的学校要求我们用动态游戏板制作一个Tictatcoe游戏。我以前没有做过类似的事情,因为这不是必需的,而且我不擅长编程。我试图寻找示例代码和视频,但没有任何东西对我有帮助

我已经成功地创建了一个方法,它可以向用户询问尺寸(宽度和高度),另一个方法可以打印游戏板,它只是*表示边框,而-'表示空位。我真的不在乎我的游戏看起来如何,只要它工作,但如果有任何技术原因,为什么董事会应该是不同的,请让我知道

问题:我不知道如何组合这两个文件使其工作,所以它向用户询问2个值并打印NxM游戏板

此选项分别向用户询问宽度和高度:

import java.util.Scanner;

class Size {

    static void askSize() {

        System.out.println("Hello!");
        Scanner scan = new Scanner(System.in);
        System.out.println("Insert width of the game board (3-9)");
        int width = scan.nextInt();
        while (width < 3 || width > 9) {
            System.out.println("Insert width again (has to be between 3 and 9)");
            width = scan.nextInt();
        }
        System.out.println("Insert height of the game board (3-9)");
        int height = scan.nextInt();
        while (height < 3 || height > 9) {
            System.out.println("Insert height again (has to be between 3 and 9)");
            height = scan.nextInt();
        }
    }

    public static void main(String [] args) {
        askSize();
    }
} 
import java.util.Scanner;
班级人数{
静态void askSize(){
System.out.println(“你好!”);
扫描仪扫描=新扫描仪(System.in);
System.out.println(“插入游戏板的宽度(3-9)”;
int width=scan.nextInt();
而(宽度<3 | |宽度>9){
System.out.println(“再次插入宽度(必须介于3和9之间)”;
宽度=scan.nextInt();
}
System.out.println(“插入游戏板高度(3-9)”;
int height=scan.nextInt();
而(高度<3 | |高度>9){
System.out.println(“再次插入高度(必须介于3和9之间)”;
高度=scan.nextInt();
}
}
公共静态void main(字符串[]args){
askSize();
}
} 
该方法使用主方法确定的值打印电路板:

class Board {
    static void printGameBoard(int n, int m) {
    
        int i, j;
        for (i=-1; i<=n; i++){
            for (j=-1; j<=m; j++){
                if (i==-1 || i==n || j==-1 || j==m)
                    System.out.print("*");
                else 
                    System.out.print("-");
                }
                System.out.println(); 
            }
        }

    public static void main(String [] args) {
        int rows = 3, columns = 3;
        printGameBoard(rows, columns);
    }
}
课程板{
静态无效打印游戏板(整数n,整数m){
int i,j;

对于(i=-1;i现在,您有两个不同的类彼此不交互。您还必须使用
main
方法。一个程序应该有一个main方法。 您需要做的是弄清楚类之间的交互应该是什么样子的

对于这个例子,这是非常简单的。两个类只有一个方法,也是静态的。这意味着,您有一个
main
方法,只需询问大小,然后将该大小传递给
Board
,以打印游戏板

但要做到这一点,需要您的
askSize()
确实返回了一个值,因此您可以进一步使用它。在本例中,它实际上应该返回两个整数,高度和宽度。因此您可以返回一个整数数组,其中包含高度和宽度。但是更好的方法是像这样重新构造
大小
类:

class Size {
    
    private static Scanner scan = new Scanner(System.in);
    
    static int askForWidth() {
        System.out.println("Hello!");
        System.out.println("Insert width of the game board (3-9)");
        int width = scan.nextInt();
        while (width < 3 || width > 9) {
            System.out.println("Insert width again (has to be between 3 and 9)");
            width = scan.nextInt();
        }
        return width;
    }
    
    static int askForHeight() {
        System.out.println("Insert height of the game board (3-9)");
        int height = scan.nextInt();
        while (height < 3 || height > 9) {
            System.out.println("Insert height again (has to be between 3 and 9)");
            height = scan.nextInt();
        }
        return height;
    }
} 

如果你被要求参加这门课程,我建议你再次尝试学习,直到你理解了基础知识。你有一个代码来读取高度和宽度(基本上是行和列),还有另一个代码需要行和列才能工作。你真的确定你
public static void main(String [] args) {
    int columns = askForWidth();
    int rows = askForHeight();
    printGameBoard(rows, columns);
}