2016-09-30 6 views
0

Я знаю, что это, вероятно, очень просто, но я пробовал часами и все еще не могу понять это самостоятельно. Так что сейчас я делаю 8 игр-головоломок для своего класса AI. Мне нужно, чтобы пользователь вводил ряд чисел, например: «032 145 678», и мне нужно просто сохранить это в матрице 3x3, где 0 будет в основном представлять пустой блок. Поэтому он должен вводить этот пользователь и хранить его как {{032}, {145}, {678}}, матрицу 3x3.Как взять входные данные от пользователя и поместить их в матрицу?

EDIT:

public void ReadFromTxt(String file) throws FileNotFoundException, IOException { 
    String read; 
    FileReader f = new FileReader(file); 
    int i = 0; 
    int j; 
    BufferedReader b = new BufferedReader(f); 
    System.out.println("Loading puzzle from file..."); 
    while((read = b.readLine())!=null){ 
     if(read.length()==3){ 
      for(j=0;j<3;j++){ 
       board[i][j] = (int)(read.charAt(j)-48); 
      } 
     } 
     i++; 
    } 
    b.close(); 
    System.out.println("Puzzle loaded!"); 
} 
+0

Что такое язык программирования? И, когда вы говорите «цифры», число - это что-то вроде «145». Одинокий «1» - это «цифра» здесь. Вы хотите хранить цифры или цифры от 0 до 9 в вашей матрице? –

+0

Язык Java, извините, должен был указать. Только цифры 0-9, так что это будет как матрица 3x3 с 0 3 2, 1 4 5, 6 7 8 – thetemptations

ответ

0

Лучший способ иметь хранилище пользователя цифры в текстовом файле. Формат текстового файла - 3 строки, каждая строка должна иметь только 3 цифры, а цифры начинаются с начала каждой строки.

Ваша программа должна взять имя файла, в котором цифры хранятся в качестве аргумента.

Программа выделяет себе массив без знака 3x3, открывает файл и читает каждую строку по очереди. Он проверяет правильность формата строки: должен иметь 3 цифры в начале, пробелы после этого разрешены. Если это не так, программа печатает сообщение об ошибке пользователю и завершает работу.

Если формат строки правильный, цифры сохраняются в строке массива.

Если имеется более трех строк, программа распечатывает сообщение об ошибке и завершает работу.

+0

Итак, я сделал надпись выше, что-то вроде этой работы? Если я поместил его в текстовый файл, что я должен назвать файл и где его поместить? – thetemptations

+0

Я не могу отлаживать вашу программу для вас, пока вы не попытаетесь отладить себя, не найдете все ошибки, которые вы можете найти, и выделите оставшиеся, если они есть. В этом процессе вы узнаете многое. Затем вы можете опубликовать изолированные ошибки. Что касается имени, вы можете назвать его чем угодно и поместить его куда угодно, где ваша программа может получить к нему доступ. –