Illegal start of the expression

Illegal start of the expression

Wątek przeniesiony 2021-12-17 10:36 z PHP przez Shalom.

K3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 7
0

Chcę posortować tabelę w Inrtellij, niestety program nie działa:

Kopiuj
package dupa;

public class Main {
    public static void main(String args[]) {
      void bubbleSort(int arr[])
    {
        for (int i = 0; i < arr.length; i++)
            for (int j = 0; j < n-i-1; j++)
                if (arr[j] > arr[j+1])
                {
                    int temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
                else
    }
      
      
      int[] arr2 = {1,3,4,5,6,7,1};
      bubbleSort(arr2);
        System.out.println(arr2);
      
    }
}

Czemu mam takie błędy?

Kopiuj
Main.java:5: error: illegal start of expression
      void bubbleSort(int arr[])
      ^
Main.java:5: error: ';' expected
      void bubbleSort(int arr[])
                     ^
Main.java:5: error: ';' expected
      void bubbleSort(int arr[])
                               ^
Main.java:16: error: illegal start of statement
    }
JM
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 93
1

Jeśli to jest PHP to ja jestem dupa

A tobie program nie "nie działa", tylko "się nie kompiluje".

Masz metodę w metodzie.

serek
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1506
1
J.Muzykant napisał(a):

Jeśli to jest PHP to ja jestem dupa

Pewnie jakaś nieznana wersja PHP. Może to brakujące PHP 6? :P

Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10227
1

Zamiast

Kopiuj
int[] arr2 = {1,3,4,5,6,7,1};

powinieneś mieć

Kopiuj
int[] arr2 = new int[] {1,3,4,5,6,7,1};
Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
2

Przecież ten kod to jakies losowe zlepki o_O Umiesz napisać działające hello world?

  1. Nie możesz zrobić metody w metodzie
  2. Masz jakieś wiszące z d**y else
  3. Masz jakąś deklaracje tablicy rodem z C
K3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 7
0

Poprawiłem kod ale dalej są małe błędy przy sortowaniu
non-static method bubbleSort(int[]) cannot be referenced from a static context

Kopiuj
package dupa;

public class Main {
     public void bubbleSort(int arr[])
    {
        for (int i = 0; i < arr.length; i++)
            for (int j = 0; j < arr.length - 1; j++)
                if (arr[j] > arr[j+1])
                {
                    int temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
               }
    }


    public static void main(String args[]) {

       int[] arr2 = {1,3,4,5,6,7,1};
       bubbleSort(arr2);
       System.out.println(arr2);
    }
}
Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10227
1
Konor34 napisał(a):

Poprawiłem kod ale dalej są małe błędy przy sortowaniu
non-static method bubbleSort(int[]) cannot be referenced from a static context

Próbujesz wołać niestatyczną metodę ze statycznego kontekstu.

Kopiuj
bubbleSort(arr2);

na

Kopiuj
new Main().bubbleSort(arr2);
K3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 7
0

Dzięki Voldemort, jeszcze muszę odkryć jak wypisać dobrze tablicę, bo jakieś gowno wyskakuje "I@2a139a55"

TR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 731
0

żadne g**no, tylko id obiektu
napisz klasycznego fora i będzie gites majonez

szatkus
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 227
1

Prościej System.out.println(Arrays.toString(arr));

Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10227
1
szatkus napisał(a):

Prościej System.out.println(Arrays.toString(arr));

Lepiej nie, to wpaja fałszywe przekonanie że można wypisywać kolekcje bez iteracji, co pytającemu nie pomoże specjalnie.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.