Odczytanie danych z pliku

0

Witam, mam plik .txt w którym są dane i moim zadaniem jest napisanie funkcji, która by zwróciła tablicę tych liczb. Napisałem kawałek kodu, jednak mam błąd.. prosiłbym o pomoc, jestem początkujący w Javie..

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class test  
{    
    
    Scanner in;        
    int temp[] = new int [50];
                            
    int[] zmien(File file)
    {
        while ( in.hasNextLine() )
        {
            int i=0;
                temp[i] = in.nextInt();
        i++;
        }
        in.close();
        return temp;        
    }    
    
    public static void main(String[] args) throws FileNotFoundException 
    {
        test test1 = new test();
        File file1 = new File("dane_50.txt");        
        Scanner in = new Scanner(file1);            
                                                
         int kaka[] = new int[20];
         kaka = test1.zmien(file1);
        
        for ( int i=0 ; i<20; i++)
            System.out.println(kaka[i]);        
    }
}
0

Dobrze by było jeszcze napisać jaki masz błąd. Co się dzieje, a co nie ?

0

Nie wiem czy to tylko to ale Scanner in w main i Scanner in jako pole klasy to nie jest ten sam obiekt, no i w while dajesz najpierw i=0 później i++ i tak w kółko.

0

Ten kod jest absurdalny.

        while ( in.hasNextLine() )
        {
            int i=0;
                temp[i] = in.nextInt();
        i++;
        }
  1. Każdą odczytaną liczbę zapisujesz w tablicy pod indeksem 0.
  2. Sprawdzasz czy w pliku jest kolejna linia, a czytasz liczbę typu int. W pliku mogą być linie nie będące liczbami.
0

Bo tak działa twoja pętla while, z każdym obrotem pętli zerujesz i. Zrób to tylko raz przed pętlą.

0

Oczywiście.. dzięki za pomoc

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