problem z tablicą

0

Witam mam do napisania program statysyczny niestey utknołem na uzupełnianiu tablicy danymi ;( dodam ze program ma byc zrobiony w srodowiku GUI mój fragmenty kodu:

class Dane
{ 
  int b=0;
  int Tablica[] = new int[3];
}
public class Aplikacja extends JFrame implements ActionListener{
JTextArea zbior = new JTextArea(4,18);
JButton JBmed = new JButton("Dodaj");
}
//dodawanie do tablicy
	if (zdarzenie==JBmed){
		
		dana.Tablica[dana.b]=Integer.parseInt(dod.getText());
		dana.b=dana.b+1;
		dod.setText(null);
		
	}

//wyświetlanie tablicy

if(zdarzenie==JBwy){
		for(int c=0; c<dana.Tablica.length;c++){
		
		zbior.setText(Integer.toString(tablica[c]));
		}}

przy dodawaniu nie występuja zadne błedy lecz kiedy chce wyświetlić wyświetla mi tylko ostatnia wpisaną liczbe
czytałem troche o kolekcjach ale niestety nie udaje mi sie ich uzyc Porsze o pomoc.

0

użyj funkcji zbior.append a nie zbior.setText

0

Trochę uzupełnię @peceta

zbior.append(Integer.toString(tablica[c])+" ");

lub

zbior.append(Integer.toString(tablica[c])+" \n");
0

a może wiecie gdzie robie bład przy sortowaniu tablicy:

int z;
	int b;
	int i;
	 do{
	 	 z=0;
	 	 i=tablica.length-1;
	 	do{
	 	i--;
	 	if(tablica[i]>tablica[i+1]){
	 		b=tablica[i+1];
	 		tablica[i+1]=tablica[i];
	 		tablica[i]=b;
	 		z=1;}
	 		else {z=0;
	 	}	
	 }while (z!=0);
	 	}while (z!=0);
0

Zrobiłem inaczej oto kod:

int z;
	int b;
	int i;
	for(z=0;z<tablica.length-1;z++)
	{
		for(i=0;i<tablica.length-1;i++){
	 	if(tablica[i]>tablica[i+1]){
	 		b=tablica[i+1];
	 		tablica[i+1]=tablica[i];
	 		tablica[i]=b;
	 		z=1;}
	 		
	 	}	
	
	}
0

Najprościej, to

Arrays.sort(tablica);

Tablica będzie posortowana rosnąco, jeżeli potrzebujesz sortowania malejącego, to możesz potem tablicę obrabiać od końca

for(int i=tablica.length-1;i>=0;i--)
0

@Jakoś

ten kod jest sprawny co ci się w nim nie podoba?

0

te pierwsze sortowanie po wypisaniu tablicy po prostu mi nie sortowało a drugi jest ok napisałem dla ludzi którzy kiedyś bd szukali podobnej rzeczy.
Dziękuję za zainteresowanie jak zawsze można na was liczyc

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