Obiekty, metoda

0

Więc ogólnie dopiero zaczynam moją zabawę z Javą i mam takie oto pytanie.

Napisałem klasę Ocena, Kurs oraz Student;

Mając obiekt klasy Ocena (ocena studenta) chciałem stworzyć metodę, która wypisze mi osoby które zdały dany kursy czyli mają ocenę od 3.0. Ale nie wiem jak to zrobić.

Prosiłbym o pomoc.

0

Pokaż co masz.

0

Mam tak:

Klasa Student:

public class Studenci {
String nazwisko;
int indeks;

public Studenci (String nazw, int nr){
	this.nazwisko = nazw;
	this.indeks = nr;
}
public String toString(){
	return "Nazwisko " +nazwisko+ " Indeks " +indeks;
}

}

Klasa Ocena:

public class Ocena {
double nota;

public Ocena (double d){
this.nota = d;
}
Ocena oc=new Ocena(2.0);

Ocena getOcena (Ocena oc){
return oc;
}
public String toString(){
return "Ocena " +nota;
}

Klasa Kurs:

import java.util.Random;

public class Kursy {
String nazwa;
int kod;

public Kursy (String nazw, int k){
this.nazwa=nazw;
this.kod=k;
}

int dajKod (int kodzik){
return kodzik;
}

String dajNazweKursu(){
return nazwa;
}

public String toString(){
return "Kod " +kod+ " Nazwa Kursu " +nazwa;
}
}

Testowa:

import java.util.Scanner;

public class Testowa {

public static void main (String[] args){

	

Scanner wej = new Scanner(System.in);
Scanner wpis = new Scanner(System.in);

int i=0;
Ocena oc=new Ocena (wpis.nextDouble());
while (i>3){
i++;
System.out.println("Podaj nazwe kursu i jego kod");
Kursy k1 = new Kursy (wpis.nextLine(), wej.nextInt());
System.out.println("Podaj nazwisko i indeks");
Studenci s1 = new Studenci (wpis.nextLine(), wej.nextInt());
System.out.println("Podaj ocene");

	System.out.println (k1.toString());
	System.out.println (s1.toString());
	System.out.println (oc.toString());
	//dajZaliczonych(oc);	
	System.out.println (oc.dajZaliczonych(i));

}

}

}

Jak zrobić metodę wyświetlającą studentów którzy zaliczyli kurs ?

0

Tak na moje oko to klasa Kurs powinna mieć zbiór studentów, którzy na ten kurs chodzą, a klasa Student powinna mieś listę ocen, które student dostał. Metoda wyszukująca studentów z ocenami co najmniej 3.0 powinna znajdować się w klasie Kurs. Tak by było logicznie.

ATSD:
Odpalałeś ten kod? Klasa Ocena ma w środku automatycznie tworzony obiekt typu Ocena. To powoduje (przynajmniej powinno) nieskończoną rekurencję i wysyp programu z powodu braku pamięci.

ATSD:
Skrót Alt+Shift+F w NetBeansie już nie działa?

0

Jak mówiłem jestem początkujący jeśli chodzi o javę a jest to trudny przedmiot. Nie używam Netbansa, a Eclipse'a. Jak powinny wyglądać poprawnie zdefiniowane te klasy?

Mam też pytanie o same obiekty. Gdzie je tworzyć w klasie testowej (main) czy w danej klasie jak np Ocena ?

0

No to w Eclipse masz Shift+Ctrl+F. Działa chyba nawet lepiej.

Ale jakie obiekty? W Javie wszędzie są obiekty. W czym wcześniej programowałeś?

0

Wcześniej język C, teraz chciałem nauczyć się Javy, jednak napotyka problemy z niektórymi sprawami

0

No to długa droga przed tobą. Najlepiej jakbyś zamówił jakieś korepetycje z Javy, albo ewentualnie przerabiał jakieś tutoriale czy książki. Przejście z C na Javę jest trudne, tłumaczenie na forum co i jak zajęłoby miesiąc.

0

A jaki tutorial polecasz, albo co Tobie pomogło zrozumieć JAVĘ ?

0

Heh, no ja Javę poznałem dopiero na studiach. Wcześniej programowałem najwięcej w asemblerze i nijak sam nie mogłem zrozumieć jak Java działa :P Zresztą programy w asmie były ileś tam razy szybsze od Javowych wtedy, gdy ja zaczynałem programować, więc uraz do Javy się długo utrzymywał. Teraz JVMy już tak nie zamulają.

Jeśli nie masz kogoś pod ręką to polecam książki. Przed chwilą wypatrzyłem na Helionie tylko jedną wartą uwagi (aktualną i dostępną): http://helion.pl/ksiazki/java-podstawy-wydanie-viii-cay-s-horstmann-gary-cornell,javpd3.htm
89 PLN i pewnie co najmniej 2 - 3 miesiące zabawy :)

Sporo nauczyłem się z tutoriali Suna (teraz przejętego przez Oracle): http://download.oracle.com/javase/tutorial/ Ale to już bardziej jak przeczytasz książkę.

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