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

Illegal start of the expression

0

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

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?

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
    }
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.

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

1

Zamiast

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

powinieneś mieć

int[] arr2 = new int[] {1,3,4,5,6,7,1};
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
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

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);
    }
}
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.

bubbleSort(arr2);

na

new Main().bubbleSort(arr2);
0

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

0

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

1

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

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.

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