Błąd "unexpected type required: variable found: value"

2011-09-12 13:23
Bartek
0

Witam,
proste sortowanie babelkowe w Javie z wykorzystaniem parametrow wejściowych.
Przy

Integer.parseInt(tablica[j+1])= tmp;

NetBeans 6.9 wyrzuca mi błąd "unexpected type required: variable found: value".
Dlaczego ?

    public static void main(String tablica[]) {

        for (int i = 0; i < tablica.length; i++) {
    Integer.parseInt(tablica[i]);
        System.out.print(" " + tablica[i]);
        }

        System.out.print("\n");

        int i=0;
        for ( i = tablica.length; --i>=0;){
        for (int j = 0; j<i; j++){
                    do{
                    int tmp = Integer.parseInt(tablica[j]);
                    tablica[j]=tablica[j+1];
                    Integer.parseInt(tablica[j+1])= tmp;
                    }
                    while (Integer.parseInt(tablica[j])<Integer.parseInt(tablica[j+1]));
            } System.out.print(" " + tablica[i]);
        } System.out.print(" ");  
    }
edytowany 1x, ostatnio: madmike, 2016-12-13 18:26

Pozostało 580 znaków

2011-09-12 13:34
0

Robisz sobie jaja teraz? Próbujesz do wyniku parsowania przypisać wartość. WTF? Integer.parseInt() zwraca ci jakiegoś inta, ale przypisanie do niego wartości jest bez sensu. Takie przypisanie wcale nie zmieni ci wartości w tej tablicy stringów! Zrób to jak człowiek:

  • najpierw przepisz te stringi do tablicy intów
  • potem sortuj.
    Nie dość że bąbelki to najgorsze sortowanie (nie licząc bogo-sorta) to jeszcze je masakrujesz wywołując cały czas parseInt()...

edit: a za takiego fora:

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

powinna być chłosta i zakaz używania komputera. Nie da się napisać:

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

?


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...
edytowany 1x, ostatnio: Shalom, 2011-09-12 13:36

Pozostało 580 znaków

2011-09-12 13:36
0

zmienna_docelowa = wartość.

Po lewej to, czemu przypisujesz nową wartość, po prawej wartość.

Poza tym przyda się try catch przy próbie parsowania.

Pozostało 580 znaków

2011-09-12 13:37
0

z powodu: Integer.parseInt(tablica[j+1])= tmp;
może lepiej: tablica[j+1]= ""+tmp; ?

Pozostało 580 znaków

2011-09-12 13:59
Bartek
0

Rozwiązanie Tompey było tak proste że aż mnie uderzyła własna głupota.
Przerobiłem natomiast tablice na int w.g. wskazówki Shaloma, działa oraz wygląda lepiej.

Co do typu sortowania - zaczynam coś tam skrobać w Javie, sortowania to dobre programiki na wstępną naukę, do niczego więcej mi to nie potrzebne.

Dziękuję za pomoc.

Pozostało 580 znaków

Liczba odpowiedzi na stronę

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