Hi,
I want to create a script in java that allows you to read a .text file that contains 81 numbers where each number contains 3 digits, the first digit is the row number, the second digit is the column number and the third digit is the value. I want to store these 81 values in an array and check if it's a valid sudoku game.
This is what the text file contains :
001 012 023 034 045 056 067 078 089 102 113 124 135 146 157 168 179 181 203 214 225 236 247 258 269 271 282 304 315 326 337 348 359 361 372 383 405 416 427 438 449 451 462 473 484 506 517 528 539 541 552 563 574 585 607 618 629 631 642 653 664 675 686 708 719 721 732 743 754 765 776 787 809 811 822 833 844 855 866 877 888
This is my attempt but it doesn't work, the first box is 1 (working) but the rest are 0 :
import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public class tp4 { public static void main(String[] args) { // Chemin vers le fichier texte contenant les 81 nombres String cheminFichier = "/Users/felixleblanc/Desktop/ex_cercle/src/partie1.txt"; // Créez un tableau pour stocker les valeurs int[][] sudoku = new int[9][9]; try { FileReader lecteur = new FileReader(cheminFichier); BufferedReader bufferedReader = new BufferedReader(lecteur); String ligne; while ((ligne = bufferedReader.readLine()) != null) { // Analysez chaque ligne pour extraire les valeurs int numeroLigne = Character.getNumericValue(ligne.charAt(0)); int numeroColonne = Character.getNumericValue(ligne.charAt(1)); int valeur = Character.getNumericValue(ligne.charAt(2)); // Stockez la valeur dans le tableau (soustrayez 1 car les indices commencent à 0) sudoku[numeroLigne][numeroColonne] = valeur; } bufferedReader.close(); // Affichez le tableau pour vérification for (int i = 0; i < 9; i++) { for (int j = 0; j < 9; j++) { System.out.print(sudoku[i][j] + " "); } System.out.println(); } } catch (IOException e) { System.out.println("Erreur lors de la lecture du fichier."); } } }
Thank you!