Klasy i java

bambusa1
Użytkownik
Użytkownik
Posty: 75
Rejestracja: 6 lis 2010, o 11:19
Płeć: Kobieta
Podziękował: 21 razy

Klasy i java

Post autor: bambusa1 »

Proszę o poprawienie poniższego programu, bo pomimo moich wysiłków wciąż nie chce działać...

Kod: Zaznacz cały

class Student
{
int p1;
int p2;
int p3;
String kto;
Student(int p1,int p2,int p3,String kto)
{
this.p1=p1;
this.p2=p2;
this.p3=p3;
this.kto=kto;
}
class zaliczenie
{
Static zaliczenie()
{
if((p1>=40) && (p2>=40) && (p3>=40) && ((p1+p2+p3)/3>=60))
{
Console.println(kto+"zaliczyl rok");
}
else 
{
Console.println(kto+"nie zaliczyl roku");
}
}
}
public class Program5
{
public static void main(String[]args)
{
String kto;
int p1,p2,p3;
Console.println("Podaj imie i nazwisko");
kto=Console.readString();

Console.println("Podaj liczbe punktów z pierwszego przedmiotu");
p1=Console.readInt();

Console.println("Podaj liczbe punktów z drugiego przedmiotu");
p2=Console.readInt();

Console.println("Podaj liczbe punktów z trzeciego przedmiotu");
p3=Console.readInt();
Student student=new Student(p1,p2,p3,kto);
Student.zaliczenie();
}
}
Awatar użytkownika
kadiii
Użytkownik
Użytkownik
Posty: 642
Rejestracja: 20 gru 2005, o 21:04
Płeć: Mężczyzna
Lokalizacja: Wrocław
Pomógł: 130 razy

Klasy i java

Post autor: kadiii »

Po pierwsze: wcięcia,wcięcia,wcięcia!
Co do meritum:
pierwszy błąd to klasa? zaliczenie. Domyślam się, ze chciałaś stworzyć metodę klasy Student a nie nowa klasę. Dodatkowo jesli chcesz żeby była statyczna(czy wiesz w ogóle co to oznacza?) to pola do których sie odwołuje też muszą być statyczne. W wersji najprostszej ta funkcja ma wyglądać tak:

Kod: Zaznacz cały

class Student
{
 int p1;
 int p2;
 int p3;
 String kto;
 Student(int p1,int p2,int p3,String kto)
 {
  this.p1=p1;
  this.p2=p2;
  this.p3=p3;
  this.kto=kto;
 }
 public void zaliczenie()
 {
   ...
 }
}
bambusa1
Użytkownik
Użytkownik
Posty: 75
Rejestracja: 6 lis 2010, o 11:19
Płeć: Kobieta
Podziękował: 21 razy

Klasy i java

Post autor: bambusa1 »

Kod: Zaznacz cały

class Student
{
int p1;
int p2;
int p3;
String kto;
Student(int p1,int p2,int p3,String kto)
   {
    this.p1=p1;
    this.p2=p2;
    this.p3=p3;
    this.kto=kto;
   }
public void zaliczenie()

  {
   if((p1>=40) && (p2>=40) && (p3>=40) && ((p1+p2+p3)/3>=60))
   {
   Console.println(kto+"zaliczyl rok");
   }
   else
     {
      Console.println(kto+"nie zaliczyl roku");
     }
  }
public class Program5
   {
   public static void main(String[]args)
     {
String kto;
int p1,p2,p3;
Console.println("Podaj imie i nazwisko");
kto=Console.readString();

Console.println("Podaj liczbe punktów z pierwszego przedmiotu");
p1=Console.readInt();

Console.println("Podaj liczbe punktów z drugiego przedmiotu");
p2=Console.readInt();

Console.println("Podaj liczbe punktów z trzeciego przedmiotu");
p3=Console.readInt();
Student student=new Student(p1,p2,p3,kto);
Student.zaliczenie();
      }
   }
Dalej nie działa, czemu? Nie mam pojęcia jak to zrobić, bo dopiero zaczynam proagramowanie obiektowe i za bardzo tego nie rozumiem.
Awatar użytkownika
kadiii
Użytkownik
Użytkownik
Posty: 642
Rejestracja: 20 gru 2005, o 21:04
Płeć: Mężczyzna
Lokalizacja: Wrocław
Pomógł: 130 razy

Klasy i java

Post autor: kadiii »

Nadal nie działa bo nie zrobiłeś tak jak ci napisałem. Czy funkcja zliczanie znajduje sie wewnątrz klasy Student? Czy nie brakuje moze jakiejś klamry? Ogólnie to tak jakbyś nie używała kompilatora w ogóle - radze czytać jego uwagi, które są najczęściej pomocne. A i oczywiście polecam przejrzeć jakiś kurs programowania bo akurat programowanie ma to do siebie, że nie przyjmuje spontaniczności w kodzie, szczególnie u początkujących. Pozdrawiam
bambusa1
Użytkownik
Użytkownik
Posty: 75
Rejestracja: 6 lis 2010, o 11:19
Płeć: Kobieta
Podziękował: 21 razy

Klasy i java

Post autor: bambusa1 »

No jasne, chyba ze słownikiem trzeba siedzieć, żeby napisać cokolwiek w javie, bo nie rozumiem, jak mam błąd: class, interface, or enum expected
Zamknęłam klamry i nic z tego. Proszę napisz mi ten cały kod, bo w życiu tego nie napisze.

Kod: Zaznacz cały

class Student
{
int p1;
int p2;
int p3;
String kto;
Student(int p1,int p2,int p3,String kto)
   {
    this.p1=p1;
    this.p2=p2;
    this.p3=p3;
    this.kto=kto;
   }
}

	public void zaliczenie()

  {
   if((p1>=40) && (p2>=40) && (p3>=40) && ((p1+p2+p3)/3>=60))
   {
   Console.println(kto+"zaliczyl rok");
   }
   else
     {
      Console.println(kto+"nie zaliczyl roku");
     }
  }
public class Program5
   {
   public static void main(String[]args)
     {
String kto;
int p1,p2,p3;
Console.println("Podaj imie i nazwisko");
kto=Console.readString();

Console.println("Podaj liczbe punktów z pierwszego przedmiotu");
p1=Console.readInt();

Console.println("Podaj liczbe punktów z drugiego przedmiotu");
p2=Console.readInt();

Console.println("Podaj liczbe punktów z trzeciego przedmiotu");
p3=Console.readInt();
Student student=new Student(p1,p2,p3,kto);
Student.zaliczenie();
      }
   }
ODPOWIEDZ