Sortowanie danych wczytanych z pliku do tablicy

0

Cześć, jestem nowy na forum i dopiero zaczynam swoją przygodę z Javą.
Chciałem napisać program, który będzie odczytywał dane z pliku, wpisywał je do tablicy, a następnie sortował.
Napisałem kod, ale cały czas zamiast konkretnych danych z pliku wyskakują mi dziwne znaczki.
Kod umieszczam tutaj: http://pastebin.com/jEze6SK1

1

Tak możesz wypisać tablice

System.out.println(Arrays.toString(tablica));

Oprócz tego:

    for(int i=0; i<tablica.length; i++)
             tablica[i] = i+1;

Wypełnia Ci tablicę nie tym co jest w pliku, tylko tak jak widać.

Całość:

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

public class PracaZPlikiem3{

public static void main(String[] args) throws FileNotFoundException 
{
    int[] tablica;
    File file = new File("data.txt");
    Scanner in = new Scanner(file);
    
    int liczbaElementow = in.nextInt();
	System.out.println("liczba elementow: "+ liczbaElementow);
    tablica= new int[liczbaElementow];
    
    for(int i=0; i<tablica.length; i++)
             tablica[i] = in.nextInt();
    Arrays.sort(tablica);	
    System.out.println(Arrays.toString(tablica));

  }
}

Dane w pliku:

5
11
55
33
22
44
0

Ok, ale teraz wyskakuje mi cały czas [1], więc jak teraz muszę zmienić te moją pętle, żeby zapełniała mi to tym co mam w pliku?

0

Zakładam, że najpierw wczytałeś wielkość tablicy tak jak miałeś w kodzie.

    for(int i=0; i<tablica.length; i++)
             tablica[i] = in.nextInt();
    Arrays.sort(tablica);	
    System.out.println(Arrays.toString(tablica));
0

Próbowałem tak jak napisałeś wcześniej to cały czas wyskakuje teraz [2], w ogóle nie chce odczytać danych z pliku.

0

Pamiętaj, że pierwsza wartość w pliku to wielkość tablicy. Dlatego jeżeli tam masz 1 to później możesz podać tylko jedną liczbę. Prawdopodobnie to był Twój problem,

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