poczatek programowania - klasy

0

Hej, zacząłem dopiero programować i mam kilka błędów oraz pytań.
Widziałem, że temat się pojawiał wcześniej, ale kody były rozwinięte i niestety nie byłem w stanie znalezc rozwiazania na swoj problem.

public class klasy {
   public static void main (String[] args) { 
       
      String name;
      int age;
      boolean passed;
      return przedstawSie() {
        System.out.println("Cześć jestem " + name + "Mam " + age + "lat");
    }
      
    klasy kuba = new klasy();
    kuba.name = "Kuba";
    kuba.age = 24;

    
    kuba.przedstawSie();
        
       
     
   }
}

Mój błąd to:

undefinedklasy.java:7: error: ';' expected
      return przedstawSie() {

Gdy próbuje stworzyć metode z void wyskakuje mi:

undefinedklasy.java:7: error: illegal start of expression
      void przedstawSie() {
      ^
undefinedklasy.java:7: error: ';' expected
      void przedstawSie() {
                       ^

Drugi problem jest taki, że jak próbuje stworzyć nową klase to wyrzuca mi już całkowicie błędy. W którym miejscu mogę stworzyć nową klase?

0

Próbujesz napisać jedną metodę wewnątrz drugiej, a to jest zabronione w Javie.

1

Nie chce mi się włączać idei ale:

  1. main to void więc nie powinnien zwracać wartości. metoda przedstawSie() powinna znajdować się w klasie
  2. Nazwa klasy 'klasy'; nazwij to poprawnie => Osoba i z dużej litery
  3. Pisz w języku Boga czyli po angielsku
0
_13th_Dragon napisał(a):

Próbujesz napisać jedną metodę wewnątrz drugiej, a to jest zabronione w Javie.

chomik123 napisał(a):

Nie chce mi się włączać idei ale:

  1. main to void więc nie powinnien zwracać wartości. metoda przedstawSie() powinna znajdować się w klasie
  2. Nazwa klasy 'klasy'; nazwij to poprawnie => Osoba i z dużej litery
  3. Pisz w języku Boga czyli po angielsku

Niestety nie bardzo rozumiem.

2
Jakub Falkowski napisał(a):

Niestety nie bardzo rozumiem.

I nie zrozumiesz dopóki nie przeczytasz jakichś podstaw.

1
Jakub Falkowski napisał(a):
_13th_Dragon napisał(a):

Próbujesz napisać jedną metodę wewnątrz drugiej, a to jest zabronione w Javie.

chomik123 napisał(a):

Nie chce mi się włączać idei ale:

  1. main to void więc nie powinnien zwracać wartości. metoda przedstawSie() powinna znajdować się w klasie
  2. Nazwa klasy 'klasy'; nazwij to poprawnie => Osoba i z dużej litery
  3. Pisz w języku Boga czyli po angielsku

Niestety nie bardzo rozumiem.

Jakub Falkowski napisał(a):
_13th_Dragon napisał(a):

Próbujesz napisać jedną metodę wewnątrz drugiej, a to jest zabronione w Javie.

chomik123 napisał(a):

Nie chce mi się włączać idei ale:

  1. main to void więc nie powinnien zwracać wartości. metoda przedstawSie() powinna znajdować się w klasie
  2. Nazwa klasy 'klasy'; nazwij to poprawnie => Osoba i z dużej litery
  3. Pisz w języku Boga czyli po angielsku

Niestety nie bardzo rozumiem.

Blok poniżej powinnien znajdować się w oddzielnym pliku klasy.java. Przykład https://www.w3schools.com/java/java_class_attributes.asp. Z tego, co widzę chcesz powołać do życia instancję klasy klasy, ustawić na niej wartości pól i wywołać funkcję przedstawSie().

      String name;
      int age;
      boolean passed;
      return przedstawSie() {
        System.out.println("Cześć jestem " + name + "Mam " + age + "lat");
    }
      
    klasy kuba = new klasy();
    kuba.name = "Kuba";
    kuba.age = 24;```
1

Najlepiej zrób osobny plik/lub pod aktualna klasa("klasy"- tak jak ty ja nazwałeś) zrób nowa klasę bez maina i przepisz to wszystko, a w mainie w tej klasie co już masz stworz obiekt tej nowej klasy i wywolaj funkcję

1
public class klasy {
      private final String name;
      private final int age;
      boolean passed;

      private klasy(String name, int age) {
        this.name = name;
        this.age = age;
      }
      void przedstawSie() {
        System.out.println("Cześć jestem " + name + "Mam " + age + "lat");
      }
      
      public static void main (String[] args) { 
        klasy kuba = new klasy("Kuba", 24);
    
        kuba.przedstawSie();
   }
}
1

polecam zaczac od podstaw np. na javastart.pl

0

Masz metodę:

   public static void main (String[] args) { 
       
      String name;
      int age;
      boolean passed;
      return przedstawSie() {
        System.out.println("Cześć jestem " + name + "Mam " + age + "lat");
    }
      

Słówko void oznacza, że nie wolno ci niczego z nie zwrócić. W jednej z linii masz return, które jednak coś próbuje zwracać. Za tym słowem masz sam nie wiem co, bo nie jest to ani wywołanie innej metody, ani deklaracja nowej. W dodatku wewnątrz tej metody main nie możesz umieszczać deklaracji innych metod.

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