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
0
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,