Tablica dwuwymiarowa z pliku bez ostatniej liczby

2015-01-21 11:16
Wybitny Kot
0

witam
Mam pewien problem, mianowicie chciałem wczytać z pliku txt liczby w takim samym ułożeniu co w pliku do tablicy dwuwymiarowej tylko że bez ostatniej liczby w każdej linii. I wczytuje mi plik tylko mam problem w metodzie usuwajacej ostatnie wyrazenie:

public static int[][] createtaba_u(int[][] matrix)
     {
         int [][] tabu_a = new int[matrix.length][];
         for(int i = 1; i<matrix.length;i++)
             for(int j = 0 ; j < matrix[i].length - 1;j++)
             {
                 tabu_a[i][j] = matrix[i][j];    //dokładnie tutaj pokazuje mi ze jest blad
             }
         return tabu_a;
     } 

Prosiłbym was o pomoc
Cały kod:

    public static ArrayList<String> getTxtFileContent(File file)
    {

          BufferedReader reader;
          ArrayList<String> array = new ArrayList<String>();

          try {
               reader = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
               String line;

               while((line = reader.readLine()) != null) {
                    array.add(line);
               }
               reader.close();

          } catch (IOException ex) {
               ex.printStackTrace();
          }
          return array;
     }

     public static int[][] createMatrixBasedOnGivenArray(ArrayList<String> array) 
     {

          int[][] matrix = new int[array.size()][7];

          try {
               for (int i = 0; i < array.size(); i++) {
                    String[] lineFromArray = array.get(i).split("\\s");

                    for (int j = 0; j < lineFromArray.length; j++) {
                         matrix[i][j] = Integer.parseInt(lineFromArray[j].trim());
                    }
               }
          } catch (NullPointerException ex) {
               ex.printStackTrace();
          }
          return matrix;
     }
     public static int[][] createtaba_u(int[][] matrix)
     {
         int [][] tabu_a = new int[matrix.length][];
         for(int i = 1; i<matrix.length;i++)
             for(int j = 0 ; j < matrix[i].length - 1;j++)
             {
                 tabu_a[i][j] = matrix[i][j];
             }
         return tabu_a;
     }
} 

A i liczby w pliku rozmieszczone sa tak:

1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5

A chciałby otrzymac wszyzstkie tak samo oprocz 5;

Zacytuj jeszcze pół forum - czytelniej będzie... o.O - furious programming 2015-01-21 19:44

Pozostało 580 znaków

2015-01-21 13:18
0

Czy pełna tablica (tzn. ta z ostatnią kolumną) jest Ci też potrzebna? Jeśli jest potrzebna i musisz kopiować, to

public static int[][] createtaba_u(int[][] matrix)
     {
         int [][] tabu_a = new int[matrix.length][];
         for(int i = 1; i<matrix.length;i++)
             tabu_a[i] = new int[matrix[i].length-1]; //tego brakowało
             for(int j = 0 ; j < matrix[i].length - 1;j++)
             {
                 tabu_a[i][j] = matrix[i][j];    //dokładnie tutaj pokazuje mi ze jest blad
             }
         return tabu_a;
     }

To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell
edytowany 3x, ostatnio: bogdans, 2015-01-21 14:19

Pozostało 580 znaków

Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0