2016-04-21 4 views
0
char board[][]=printBoard(board); 
    printBoard(board); 


public char[][] printBoard (char [][] test){ 
    char[][] game = { 

    {'_','1','2','3'}, 
    {'1','_', '_', '_'}, 
    {'2','_', '_', '_'}, 
    {'3','_', '_', '_'} 
    }; 
    return game; 
} 

Привет, мне интересно, как вызвать функцию printBoard? Ничто в printBoard не подсвечивается красным цветом, поэтому я думаю, что проблема в том, что я не называю это правильно. Спасибо за помощь. Я пытаюсь поместить плату в ее собственную функцию, а затем назовите ее с помощью 2d массива переменной платы [] []. Я пытаюсь сделать игру с tic tac toe. Когда я запускаю это, он не печатает плату.Как передать функцию, которая вызывает двумерный массив в качестве параметра?

+0

Несколько вопросов: вы никогда не вызывает никаких функций ввода-вывода (например. 'System.out.print()', 'System.out.println()' Вы не делают абсолютно никакого использования 'полукокса [] [] test', который попадает в printBoard, и вы называете 'printBoard (board)' before 'board'. Затем он вызван снова по какой-то причине. Многое происходит, это не совсем правильно, и это очень запутывает то, что вы пытаетесь выполнить. – CollinD

ответ

1

Вы просто никогда не называете какой-либо метод печати, вы просто выделяете массив. Ниже приведен пример того, как это сделать:

char board[][] = { 
    {'_','1','2','3'}, 
    {'1','_', '_', '_'}, 
    {'2','_', '_', '_'}, 
    {'3','_', '_', '_'} 
}; 

for (int i = 0; i < board.length; i++) { 
    for (int j = 0; j < board[0].length; j++) { 
     System.out.print(board[i][j] + "\t"); 
    } 
    System.out.println(); 
} 
+0

public char [] [] printBoard (char [] [] gainz) { для (int i = 0; i Castaray

+0

Мне жаль, чувак, но это то, о чем расскажет первый учебник по Google. Постарайтесь успеть, и если вам действительно не удается это сделать, вернитесь сюда с тем, что вы пытались – Dici

0

вы не можете сделать это:

char board[][]=printBoard(board); 

объявить объект и назначения с возвращением метода, который принимает в качестве аргумента .. . что это??

аргумент должен быть какой-то 2d массив отличается ...

0

Ваш метод «printBoard» не остро напечатать массив, просто allocking его, как сказал Dici. Чтобы напечатать массив, я бы использовал цикл double for. Ниже приведен пример.

public class Averagegrades 
{ 
    public static void main(String[] args){ 
    char board[][]= setBoard(); 
    printBoard(board); 
} 

public static char[][] setBoard(){ 
    char[][] test = { 

      {'_','1','2','3'}, 
      {'1','_', '_', '_'}, 
      {'2','_', '_', '_'}, 
      {'3','_', '_', '_'} 
    }; 
    return test; 
} 

public static void printBoard(char[][] board){ 
    for(int i = 0; i < board.length; i++){ 
     for(int j = 0; j < board[i].length; j++){ 
      System.out.print(board[i][j] + " "); 
     } 
     System.out.println(); 
    } 
} 
} 
Смежные вопросы