Wątek przeniesiony 2015-05-22 00:09 z Java przez bogdans.

Wczytywanie imion z pliku do tablicy

0

Witam, chcę napisać program który wczytuje z pliku imiona i podpisuje je pod dany element tablicy lecz ciągle mi wywala błąd. Jak poprawnie to zrobić? Oto kod:

public void actionPerformed(ActionEvent arg0) {
			JFileChooser fc = new JFileChooser();
			if(fc.showOpenDialog(null)==JFileChooser.APPROVE_OPTION){
				File plik = fc.getSelectedFile();
				try {
					Scanner skaner = new Scanner(plik);
					StringTokenizer token;
					while (skaner.hasNext()){
						s= (skaner.nextLine());	
						dzieci[i]=s
						i++;
					}
				
					
				} catch (FileNotFoundException e) {
					JOptionPane.showMessageDialog(null, "Nie znaleziono pliku", "bla", JOptionPane.ERROR_MESSAGE);
				}
			
			}
		}
	});

dzieci to String
s string
i=0;
Z góry dzięki:)

0
dzieci[i]=s

dzieci to String

To nie ma sensu, poza tym brak średnika.

0

A mógłbyś wytłumaczyć dlaczego nie ma sensu? zmienna s przechowuje jakiś wyraz który chce przypisać do tablic. To jak to można zmienić żeby wszystko grało?

0

Skoro dzieci to String, to czym jest dzieci[i]?

0

Rozumiem. Kombinuję też tak aby dzieci to była tablica int. I robie tak, ale dalej wywala błąd.

    dzieci[i]= Integer.parseInt(skaner.nextLine());	
    i++;

błąd jaki wywala to "AWT-EventQueue-0".

0

Generalnie chciałbym każdą linijkę przypisać osobnemu elementowi tablicy. Żeby móc się odwoływać do nich potem.

0

WTF.

To chyba nie rozumiesz jeśli chcesz Stringa wczytać do tablicy intów.

Nie możesz tego wczytać normalnie korzystając z Files.readAllLines() ?

0

Nie chce tą funkcją. Ja chce poszczególne linie zapisać do tablicy....Coś takiego np. W pliku mam:

Adam
Ala
Mateusz

i w programie żeby

tablica[1]=Adam;
tablica[2]=Ala;
tablica[3]=Mateusz;

dodanie znaczników <code class="none"> i <code class="java"> - @furious programming

1

Tą funkcją nie zrobisz tego w prosty sposób. Tworząc tablicę musisz podać jej rozmiar, a potrzebny rozmiar poznasz dopiero jak przeczytasz plik.
Dwa rozwiązania problemu:

  • czytasz plik dwukrotnie, w pierwszym czytaniu tylko liczysz ilość wierszy,
  • czytasz i zapamiętujesz imiona w kolekcji, np. typu ArrayList<String>, korzystasz z kolekcji do końca programu lub konwertujesz kolekcję na tablicę.
    A przy okazji, brak przecinka w zdaniu

Nie chce tą funkcją.
zmienia całkowicie jego sens.

0

bogdans ŚLICZNIE dziękuje!:) i przepraszam za wszelkie zawracanie głowy:)

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