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