ArrayList obsługa

0

Ad. 1. Pisałem o mainie w jednym z poprzednich postów w punkcie 4.b., a sam punkt 4. dotyczył klasy Menu i właśnie tam miał być main. To wynikało z tego, że wydzieliliśmy klasę Menu do obsługi interfejsu i założyłem, że to właśnie Menu będzie klasą startową. U Ciebie klasą startową jest Dziennik, myślę, że to mniej logiczne (bo Dziennik miał być klasą reprezentującą dane), ale jeżeli Ci na tym zależy, to może tak zostać jako Twój wkład do pracy :)

Ad. 1.c.d. Może warto jeszcze dodać, że wydzielenie klasy Menu było zastosowaniem (częściowym) wzorca MVC - Model View Controller możesz sobie poczytać co to takiego w wolnej chwili...

Ad. 3. Twoja analiza przyczyny błędu wydaje się być błędna... No chyba, że źle Cię zrozumiałem:-) Dziwność ocen wynika z błędu w metodzie

private void listaOcenPrzedmiot()

Przeanalizuj dokładnie jej treść. W analizie może pomóc poprawne sformatowanie kodu tabulatorami...

Co do skali ocen, to losowana jest jedna liczba ze zbioru {0, 1, ..., n-1}.
U nas n=4 czyli za pomocą wzoru o=r+2 ciąg {0,1,2,3} przekształcany jest na ciąg {2,3,4,5}.
Jeżeli chcesz mieć inny zbiór ocen, to musisz wymyślić sobie inne przekształcenie ciągu {0, 1, ..., n-1}.
Przekształcenie takie może być przekształceniem arytmetycznym (jak jest teraz), ale może też być bardziej rozbudowane (zawierać ify i switche, tylko po co, skoro w przypadku skali ocen można wszystko załatwić w jednej linii (stosując przekształcenie arytmetyczne)...

try-catch niepotrzebnie. Wyrzuć. Wiesz co to są wyjątki ?

Czy potrzebna jest metoda listaUczniow() jeżeli masz już metodę wypiszUczniow()? Przed odpowiedzią przeanalizuj treść tych metod i znajdź jakieś znaczące różnice :-)

Masz dwa skanery, wyrzuć ten z dziennika. A rand przenieś do Menu.

Co do tego jak bym to zrobił to:
dodajLosoweOceny zrobiłbym tak samo albo (gdyby mi się chciało) w bardziej wymyślny i różnorodny sposób dodawał oceny...
dodajUcznia tak samo, ale bez deklarowania zmiennej x (zawsze jedna linia mniej),
listaUczniow bym nie robił,
listaOcenPrzedmiot zrobiłbym poprawnie ;-)
metody, o które pytałeś zrobiłbym tak samo jak dla ucznia, czyli podobnie do Ciebie...

Co do null to oznacza ona brak obiektu. Np. gdy tworzysz nową zmienną/nowy atrybut, która/y ma przechowywać jakiś obiekt, ale żadnego obiektu do niej nie przypisujesz, to ma ona wartość null. Jeżeli coś już było zapisane, a nie chcemy, żeby nadal było, to można tam wstawić null.

W przypadku metod jest podobnie. Jeżeli z nagłówka metody wynika, że ma ona zwrócić obiekt klasy Uczen, to każdy wariant wykonania się tej metody musi się skończyć zwróceniem obiektu tej klasy, czyli jest niedopuszczalne żeby przejść przez tę metodę wymijając wszystkie return i po prostu dojść do końca. Dlatego, jeżeli nie chcemy nic zwracać (a nagłówek mówi, że coś zwracamy) to zwracamy null, czyli brak obiektu.

Być może znasz jakiś język, w którym można nic nie zwrócić i nie stoi to na przeszkodzie, żeby wynik takiej funkcji móc przypisać do zmiennej jako undefined albo coś innego, ale w javie jest inaczej. Albo metoda zwraca coś zawsze albo nigdy (gdy jest typu void).

Dziwnie to wygląda, że nie znasz programowania obiektowego i robisz projekt w bardzo obiektowym języku... Przerób sobie jakiś porządny kurs javowy w internecie... Potrzebujesz też większego zaangażowania w tworzenie algorytmów i przykładania do tego większej uwagi, żebyś rozumiał co i po co robisz ;) Tego można się nauczyć, im więcej projektów tym będzie lepiej... Potraktuj skalę ocen jako możliwość takiego doskonalenia się...

Jeżeli obawiasz się, że Twój projekt jest zbyt mało Twój, to zawsze możesz dodać więcej funkcjonalności nawet jeżeli nie są wymagane w zadaniu. Możesz też potraktować to wszystko jako ćwiczenie (mam nadzieję, że bardzo pouczające) i zacząć od zera, tym razem samodzielnie, bez patrzenia na moje wskazówki (i rozkazy), bo teraz powinieneś już umieć (w jakimś stopniu) rozwiązywać takie programistyczne problemy (chyba, że tylko przeklejałeś, wtedy cała moja pisanina na nic;-p).

0

Co do MVC, jezykow obiektowych osobiście wole strukturalne programowanie, ale trzeba się dostosować do tego co jest na zajęciach, a że nie ma nic tylko jest zadanie i róbcie to wiedze jakoś pozyskać gdzieś trzeba. Jestem Ci ogromnie wdzięczny za pomoc. Myśle, że jednak ten temat dużo wniesie, nie był tylko przklejanką.

Co do metody ** listaOcenPrzedmiot()**:

private void listaOcenPrzedmiot(){
		
		System.out.println("Lista ocen z Przedmiotu:");
		for(int i = 0; i < dziennik.uczniowie.size(); i++){
	        System.out.println("[" + dziennik.uczniowie.get(i).id + "]" + dziennik.uczniowie.get(i).dane);    
	        for(int t = 0; t < dziennik.przedmioty.size(); t++){
	        	System.out.println(dziennik.przedmioty.get(t).nazwa);
	        		for(int k = 0; k < dziennik.przedmioty.size(); k++){
	        			System.out.println(dziennik.oceny.get(k).ocena + "-" + dziennik.przedmioty.get(t).nazwa);  
	        		}     
		   	 }          
	     }

Nie widzę z w niej nic złego. Wyświetla listę uczniów następnie przedmioty i oceny na koncu..
ew moze byc takie rozwiazanie, wzorowane na tym co wczesniej tworzyles:

private void lista(){
		
	     System.out.println("Lista ocen z przedmiotow:");
	     
	     for(int i = 0; i < dziennik.uczniowie.size(); i++){
	          Uczen u = dziennik.uczniowie.get(i);
	          System.out.println(i + ". " + u.dane + " [" + u.id + "]");
	     
	          for(int k = 0; k < dziennik.przedmioty.size(); k++){
	        	  Przedmiot p = dziennik.przedmioty.get(k);
	        	  System.out.println(p.nazwa);
	        	  
	        	  for(int t = 0; t < dziennik.przedmioty.size(); t++){
		        	  Ocena o = dziennik.oceny.get(t);
		        	  System.out.println( o.ocena);
	        	  }
	          }
	     }
		
	}

No tak, roznicy w wyswietlaniu nie ma, ale na pewno jest tylko jaka?:<
na pewno wywolujemy interesujacy nas obiekt i moze o to tu chodzilo, w porownaniu do mojego wczesniejszego kodu gdzie tylko opereowalem na tablicy gdzie byly zapisane oceny?

Problem z losowaniem. To nie ten sam problem co z metoda wczesniej:
Patrz:

Lista ocen z przedmiotow:
0. janek [0]
Matematyka
5.0
5.0
2.0
Polski
5.0
5.0
2.0
Angielski
5.0
5.0
2.0
1. marek [1]
Matematyka
5.0
5.0
2.0
Polski
5.0
5.0
2.0
Angielski
5.0
5.0
2.0

Dodajac dwoch uczniow mam taki efekt, jest blad czy mam pecha z losowaniem?

try-catch - może przecholowałem ale tu bardziej chodziło co jeśli np użytkownik poda w swichu litere, jeśli w podaj użytkownika poda litere, bo tego typu bledy chyba trzeba zabezpieczac, ja zrobilem to bez pomyslunku, bo pisze te kody po nocy ostatnio

listaUczniow() == wypiszUczniow()
Ja bylem tego swiadom ze te metody sa tym samym ale no nie wiem polecenie wymagalo stworzenia listy uzytkownikow, ale ze metoda wypiszUczniow() jest uzywana jest w innej metodzie to nie pomyslalem ze moge ja wykorzystac jako ta sama liste w tym "podpunkcie". Zgadza się to gupota.

Ta metoda dziala lecz...

private void dodajLosoweOceny(Uczen u){
	     for(Przedmiot p : dziennik.przedmioty){
	    	   int a = 2 + rand.nextInt(4);
				Ocena o1 = new Ocena(a,p,u);
				dziennik.oceny.add(o1); 
	     }	     
	}
  • jest petla po przedmiotach i obiektach co w efekcie daje 3 losowania od razu
    = > a co jak chce miec jedno losowanie?
    => a co jak chce miec ich hm 20?

cos na zasadzie

  for(Przedmiot p : 20){

nie dziala

  • powyzej pokazalem wyjscie z wyswietlenia ocen, za kazdym razem w kazdym przedmiocie jest to samo, uwazam ze jest tak dlatego ze petla przechodzi po przedmiotach i za kazdym razem wpisuje te same rand(omy) nie wiedziec juz czemu(bo random to random w sumie)

Polecisz jakiś DOBRY kurs java w wersji internetowej?

1

A zatem no więc:

  • nie rozumiesz kodu, który piszesz...
  • nie jesteś obeznany z działaniem zagnieżdżonych pętli...
  • używasz nieistniejących konstrukcji języka (for(Przedmiot p : 20){) w zasadzie nie wiem co mając na uwadze... :(
  • gdybym był tego świadomy, to bym Cię wysłał do nauki języka, a nie mówił gdzie masz błędy...

Dodawanie ocen działa poprawnie. Błąd jest w wypisywaniu zarówno w metodzie void listaOcenPrzedmiot() jak i void lista(). I nie powiem Ci jaki. Zapomnij do czego ta metoda służy, przeanalizuj kod słowo po słowie, zinterpretuj co ta metoda właściwie robi w tej chwili i zacznij rozumieć co piszesz...

Warunkami przejścia do następnego etapu są:

  1. Wytłumaczenie co oznacza konstrukcja for( ...:... )
  2. Wyjaśnienie dlaczego obecnie funkcje void listaOcenPrzedmiot() i void lista() nie robią tego co myślisz, że robią.
  3. Napisanie kodu, który za pomocą pętli narysuje taką choinkę:
     #
     #
    ###
     #
    ###
   #####
     #
    ###
   #####
  #######
     #
     #

Jeżeli nie wiesz jak się zabrać za choinkę, to zacznij od zwykłego trójkąta:

#
##
###

Nigdy nie korzystałem z żadnego internetowego kursu javy, więc nic nie polecę. Myślę, że warto zajrzeć na oficjalny tutorial na stronie Oracle, powinien być kompletny (ale nie wiem czy dobry na początek).

0

Gdybym wszystko rozumiał i wiedział programowanie nie stwarzało by mi problemu i nie było by mnie tu. Nie potrzebował bym pomocoy z takimi gupotami jakimi są dla ciebie pewnie moje kłopoty.
Co do

for(Przedmiot p : 20){

Wiem ze takie cos nie istnieje chodzilo tylko o pokazanie schematu.. ze chcialem przejsc 20 razy przez petle po przedmiotach majac je 3, no musial bym pewnei zrobic to w forze osobnym i penteleke ale jesli jest taka metoda to 3 przedmioty losowane x 20 to nie wychodzi 20, rozumiesz?

Dziękuję Ci za pomoc i nie ma co się załamywać jako nauczyciel czy pomocnik sprawdzasz się :P Wiem, że nie jest ze mną łatwo ale staram sie...

Odpowiadajac
1.

for( ... : ... ) 
  • czyli takie javove for each, w moim przypadku dziala to tak:
for(Typ_Obiektu nazwa_obiektu : nazwa_tablicy){ ... }

czyli obiektem może bycnp Uczen a ide po liscie uczniow
2. Coz...
te dwie pozywzsze metody operuja na idexach list z klasy dziennik a nie na samych obiektach jak to robi petla for each?
cos w ten desen(jesli nie o to chodzilo to pomysly mi wyszly):

private void listaOcenPrzedmiot(){
		
	     System.out.println("Lista ocen z przedmiotu:");
	     
	     for(Uczen u : dziennik.uczniowie){
	          System.out.println(u.dane + " [" + u.id + "]");
	     
	          for(Przedmiot p : dziennik.przedmioty){
	        	  System.out.println(p.nazwa);
	        	  
	        	  for(Ocena o : dziennik.oceny){
		        	  System.out.println( o.ocena);
	        	  }
	          }
	     }
		
	}
  • tylko ze wykorzystujac metode w taki sposob dodajac kolejnego uzytkownika, temu pierwszemu widac jak przypisuja sie oceny tego drugiego..wiec cos nie halo, albo z dodawaniem(a tu mowiles ze ok), albo z wyswietlaniem(wiec nadal cos by bylo TU nie tak?)

Roznica jest drastyczna, ale czy w tym przypadku tez? Przeciez wszystkie oceny przedmioty uczniowie sa wpisane do list, to czemu by nie operowac wlasnie na nich? Chyba ze moje rozumowanie jest totalnie zle. No i zostaje problem losowania i w tej chwili duplikacji ocen..

Troche zbaczamy z tematu ale:
3.

public class start {
	public static void main(String[] args) {
		int wys = 4;
	    for (int i = 0; i < wys; i++) {
	      for (int j = 0; j < wys; j++) {
	        if (j <= i) {
	          System.out.print("*");
	        }
	      }
	      System.out.println();
	    }	    
		    
	}
}
public class start {
	public static void main(String[] args) {
		 int wys = 4;
		 int ile  = 3;
		  for (int k = 0; k < ile; k++) {
		    for (int i = 0; i < wys; i++) {
		      for (int j = 0; j < wys - i; j++) {
		        System.out.print(" ");
		      }
		      for (int j = 0; j <= i * 2; j++) {
		        System.out.print("*");
		      }
		      System.out.println();
		    }
		  } 
		    
	}
}
1
  1. Tak.
  2. Nie.
  3. Tak i nie.

Ad1. Poprawnie i myślę, że rozumiesz;)

Ad2. W każdej z tych dwóch funkcji miałeś dwa błędy. Pierwszy prawdopodobnie był pomyłką edytorską i liczyłem, że wykryjesz ją analizując kod słowo po słowie etc. Zamiast tego zwykłe pętle for zamieniłeś na pętle foreach (tak się to fachowo nazywa) i jednocześnie cały ten błąd wyeliminowałeś. Drugim błędem jest to, że jest w ogóle źle, bo nie rozumiesz co tak napisane pętle robią... Moim celem jest zmuszenie Cię, żebyś zaczął rozumieć co one tam robią w tej chwili (i nie jest to problem z obiektowością tylko z używaniem pętli, dlatego dostałeś zadanie 3. na pętle, żebyś im poświęcił choć chwilę). Jeżeli nie będziesz mógł wpaść na to co te pętle obecnie robią, to coś Ci podpowiem, gdy pozostałe zadania będą wykonane poprawnie. W tym wykonana będzie pierwsza część tego zadania (w wersji bez for-each), więc przypatrz się uważnie tym funkcją słowo po słowie i znajdź coś co nie pasuje (no może podpowiem, że nie pasuje jedno słowo)...

Ad3. Trójkąt dobrze, choć wolałbym bez ifa, a i Tobie pomogłoby to napisać poprawnie choinkę, bo choinka jest źle (i nie chodzi o pieniek, możemy go sobie darować). Przypatrz się choince, którą masz wyprodukować i tej, którą produkujesz. I zrób to bez ifów...

Problem polega nie na tym, że nie wszystko rozumiesz, tylko na tym, że zabrałeś się za spory projekt (jak na początkującego) bez znajomości języka, w którym masz pisać oraz co najmniej bez umiejętności używania zagnieżdżonych pętli, co nie jest zagadnieniem z javy tylko chyba z każdego popularnego (poza asemblerem) języka programowania i ogólnie algorytmiki jako takiej...

Zakładałem, że znasz podstawy i masz tylko problem ze zrozumieniem tego jak obiektowo rozwiązać jakiś problem. Wyszło na to, że uczyłem Cię biegać, gdy jeszcze nie potrafisz dobrze chodzić. Więc teraz staram się sprawić, żebyś przykładał więcej staranności i dokładności do stawiania zwykłych kroków:)

0

Chyba chodzilo Ci o pieniek no to cos takiego?

package xxx;

public class start {

	

	
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		
		int wys = 4;
        int pien = 2;   
        	 
        	 //choinka
           for (int i = 0; i < wys; i++) {
        	
             for (int j = 0; j < wys - i-1; j++) { // dopełnianie spacjami
               System.out.print(" ");
             }
             for (int j = 0; j <= i; j++) { //lewa
               System.out.print("*");
             }
             for (int j = 0; j <= i-1; j++) { //prawa
                 System.out.print("*");
               }
             System.out.println();
           }
             
           //pien
             for (int i=0; i<pien; i++){
              for (int j=1; j<wys-2; j++){// dopełnianie spacjami 
            	  
              
            System.out.print("   ");
              System.out.print("*");
              System.out.println();
             }
             }
             
           }
            
		    
	
}

ale juz sie w to nie bawie musze dokonczyc tamto i rozwiazac problemy ktore aktualnei wystepuja..

0

Właśnie na tym polega problem, że zabierasz się za budowę domu uważając, że zakup ziemi pod ten dom to jakieś fanaberie...

0

Program ukończony chyba dzięki za pomoc. Cały czas będę się rozwijał ale nie chce już zaśmiecać forum takimi schamatami chonki np. Jeśli jest opcja to możemy pogadać na pw. I możemy tam jeszcze pogadać.
Na ta chwile temat do zamknięcia.

0

Udało Ci się zrobić poprawne wyświetlanie ocen?

0

Moim zdaniem petla wyswietlajaca po indexach byla ok, rzuciles hasloa for() przerobilem ale to sie nie sprapwdzilo, albo zle zrozumialem. Ja nie widze tu problemu w wyswietlaniu bo wyswietla ono teoretycznie dobrze tylko w losowaniu,ale ze liczby(oceny) i tak chce by byly losowe to tak naprawde bez znaczenia. Zmodyfikowalem losowanie i losuje to inaczej. Troche dookola ale..

Jesli masz suchy chleb a ktos ci mowi ze cos popsules bo powinna ci wyjsc kromka z maslem, a jestes na poziomie skorki od chleba.. :D to ciezko to, poziomu swojej widzy nie ukryalem od poczatku lecz, to o co ci chodzilo tak dokladnie i tak nie wiem. Mniejsza. Bez tego tez rozwiazalem problem nas woje sposob, liczy sie w koncu funkcjonalnosc.

Dorobilem jeszcze usuwanie i zapis do pliku, ale to tak juz gratis bo chcialem wiecej funkcjonalnosci. Dorobil bym cos jeszcze ale brak pomyslow byl.

0

Jeżeli nie widzisz problemu, to proponuję byś się upewnił wypisując oceny tak:

System.out.println( o.ocena +" "+ p.uczen.dane +" "+ p.przedmiot.nazwa);

</del> ```java System.out.println( o.ocena +" "+ o.uczen.dane +" "+ o.przedmiot.nazwa); ```
0

Albo nie rozumiem albo u mnie nie da się tego wykonać tak po prostu..
Twoja struktura:

System.out.println( o.ocena +" "+ p.uczen.dane +" "+ p.przedmiot.nazwa);

Czyli wyswietlane jest
-ocena z klasy ocena
-dane ucznia z klasy przedmiot? ja nie mam danych o uczniu podpietych do tej klasy w koncu wzorowalem sie an twoich klasach i to mnie troche dziwi..
-nazwa przedmiotu w przedmiocie

Bardziej dobitnie klikajac p. nie mam dostepu do uczen czy przedmiot

Moge zrobic tak:

System.out.println( o.ocena +" "+ p.nazwa +" "+ u.dane);

-ale pewnie to nie o to ci chodzi
-1. ocena z klasy ocena
-2. nazwa przedmiotu z klasy ocena(chyba tak samo)
-3. dane o uczniu z klasy uczen ( z ta roznica ze nie przechodza przez klase przedmiot...)

Nie wiem jaki wynik by dalo twoje polecenie, domyslam sie ze

Ocena(1), Jakas nazwa ucznia z przedmiotu(2), kotry jest tu(3)

0

Wybacz, literówki mi się wkradły:( Powinno być tak:

System.out.println( o.ocena +" "+ o.uczen.dane +" "+ o.przedmiot.nazwa);
0

Nie rozumiem co w tym lepszego.. i poprawnego?
Lista ocen z przedmiotu:
4.0 dsa Matematyka
2.0 dsa Polski
3.0 dsa Angielski
4.0 dsa Matematyka
2.0 dsa Polski
3.0 dsa Angielski
4.0 dsa Matematyka
2.0 dsa Polski
3.0 dsa Angielski

0

W tym nie ma nic poprawnego, za to może Ci to bardziej uzmysłowić jak działa obecnie Twoja funkcja wypisująca i dlaczego jednak nie potrafisz (a przynajmniej do tej pory nie potrafiłeś) zbudować tej funkcji poprawnie...
Myślę, że mógłbyś zobaczyć więcej mając dwóch użytkowników i w każdej z pętli wypisywać taki jakby nagłówek aktualnie wybranego w tej pętli Ucznia/Przedmiotu.
Jeżeli to Ci też nie pomoże, to ostatnią deską ratunku będzie wypisanie ocen w ten sposób:

System.out.println( o.ocena +" "+ o.uczen.dane +" "+ o.przedmiot.nazwa+" "+o);

wtedy wypiszą Ci się identyfikatory/adresy Ocen (co zadziała, o ile w Ocena nie masz metody String toString(), a nie masz z tego co pamiętam) i coś z nich wywnioskuj...

0

1x.Chcialem zrobic jeszcze generowanie pdf, wykorzystuje takie cos itext, raczej malo klopotliwe. Mam inny problem z którym licze, że mi pomożecie, nie tworzyłem nowego wątku bo cały program jest opisany tutaj, poza tym Pan któy mi pomagał jest w temacie.

private void generujPDF() {
		if(dziennik.uczniowie == null || dziennik.uczniowie.isEmpty()){
			 System.out.println("Pusta lista...");
		 }
		 else{
			  
		 Uczen u=wybierzUcznia();
		 
		 
	     if(u != null){
	    	 
	    	 Document document = new Document();
	    	    try {
	    	      PdfWriter.getInstance(document, new FileOutputStream("karta.pdf"));
	    	      document.open();

	    	      document.add(new Paragraph("Dziennik:"));
	    	      document.add(new Paragraph("Imie i nazwisko:" + u.dane));
	    	      
	    	      Przedmiot p = null;
	    	      document.add(new Paragraph("Przedmiot:" + p.nazwa));
	    	      Ocena o = null;
	    	      document.add(new Paragraph("ocena:" + o.ocena));
	    	   
				 	
	    	     
	    	      //document.add(new Paragraph("Imie i nazwisko:" + p.nazwa));
	    	    } catch (DocumentException de) {
	    	      System.err.println(de.getMessage());
	    	    } catch (IOException ioe) {
	    	      System.err.println(ioe.getMessage());
	    	    }
	    	    document.close();
	    	  }

	     System.out.println("Wygenerowales karte dla ucznia " + u.dane);
		 }
	}

Chodzi o linie:

Przedmiot p = null;
	    	      document.add(new Paragraph("Przedmiot:" + p.nazwa));
	    	      Ocena o = null;
	    	      document.add(new Paragraph("ocena:" + o.ocena));

Nie mam dostepu do Przedmiot i Ocena w metodzie generujPDF() i nie bardzo wiem jak go sobie wyrobic?

Wymyslilem:

for(Przedmiot p : dziennik.przedmioty){
	    	    	  document.add(new Paragraph("Przedmiot:" + p.nazwa));
	    	    	  for(Ocena o : dziennik.oceny){
	    	    		  document.add(new Paragraph("Ocena:" + o.ocena));  
	    	    	  }
	                 System.out.println(p.nazwa);
	    	      }

ale oceny sie dubluja w przypadku >2 uczniow

2a.
Dochodzi tylko cos kodowanego, jak dostwalem to wczesniej to dalo sie to odebrac za pomoca get()... tylko to nie jest tablica zeby tak to zwrocic, coz chcialbym wiedziec jaki jest problem, jednak przewertowujac troche internet :
-pisza ze to moze by problem z konwersja do stringa? uzylem w sumie o.toString() lecz moje oceny sa zapisywane jako float i nie wiem gdzie mial by sie z nich robic string
-piszac taka konstrukcje zwraca sie flase o.equals(t)- > co moze oznaczac ze ocena nie przypisuje sie do przedmiotu?

3.0 asd Matematyka test.Ocena@330bedb4
  • na podstwie twojej lini i dwoch uzytkownikow mozna zauwazyc ze oceny dodaja sie zawsze do pierwszego uzytkownika, ale nie wiem czy ja cos pomieszalem czy o to ci chodzilo? i to sa ciagle te same oceny , czyli kolejny uzytkownik dostaje te same oceny podpisane ocenami uztkownika pierwszego... no fajnie..
    -ponadto kazda nastepna losowana ocena jest taka sama ? ale to wiem od poczatku , dlatego liczenie sredniej jest takie sobie ..
    ale jak to zmienic.. eh ;/

i nadal uwazam ze to co napisalem powyzej to kwestia dodawnia a nie wyswietlania

0

test.Ocena@330bedb4 jest efektem, który miałeś uzyskać. Liczbę, którą tam widzisz możesz traktować jako identyfikator obiektu. Czyli jeżeli przy wypisywaniu wszystkich ocen liczby dla poszczególnych obiektów się powtarzają, to można z tego wywnioskować, że ?

A PDF tak samo jak wcześniej zrobiłeś bez PDF...

Wybacz, ale uważam, że mój udział w dyskusji w tym temacie, był czasem zmarnowanym. Prawdopodobnie nie będę się już udzielał w tym temacie (chyba, że napiszesz coś wartościowego), bo nie chcę tego czasu marnować na Ciebie więcej, bo nie ma to najmniejszego sensu. Błędnie określiłem Twoje umiejętności i przez to praktycznie napisałem za Ciebie ten program, poczynając od ogólnej koncepcji jak to zrobić obiektowo, a kończąc na implementacji metod... Szczerze mówiąc, uważam, że nie potrafisz programować w javie i w innych językach chyba też jest dość marnie. I byłoby lepiej dla Ciebie i dla Świata gdybyś to zadanie oblał...

Kod Twojego projektu jest na prawdę niezbyt skomplikowany, na tyle, że ktoś kto ma pojęcie o programowaniu może na to spojrzeć i widzi co jest źle. Próbuję pokazać Ci gdzie robisz błąd, pokazałem Ci kierunek, później drogę, później wskazałem rzekę, przyprowadziłem na sam brzeg, kazałem przyklęknąć i nachylić się nad wodą. Ale wypić musisz sam.

Nie wiem jak trzeba być nierozgarniętym albo intelektualnie ubogim, żeby nie móc przysiąść i poanalizować chwilę wyniki swojego programu, gdy ktoś Ci dokładnie mówi, w którym miejscu jest błąd i jak go zaprezentować i wykryć, a Ty musisz tylko zrozumieć co ta za błąd...

Jeżeli dla Ciebie to jest zbyt trudne, bo oczekujesz prostych rozwiązań, może jakiejś fajnej funkcji, która rozwiąże problem, wolisz dokładać nowe funkcjonalności, patrzeć szerzej i dalej, byle tylko na spokojnie się nie przyjrzeć chwile temu co masz i coś zrozumieć, to wybacz, ale ja wysiadam z tego pociągu...

Skoro wbrew temu co Ci napisałem uważasz, że w dodawaniu jest błąd, to znajdź go tam i napraw...

0

Nie uważam, że zmarnowałeś czas. Ciesze się że mi pomagałeś i że są tacy ludzie. W początkowych postach zaznaczyłem, że jestem laikiem co do javy. Znam podstawy obiektowości lecz z java mam dopiero pierwszy kontakt. Co do samego zadania, nie jest ono na ocene żebym je miał oblewać czy zaliczać, był to przykład na którym miałem się coś nauczyć i częściowo się też tak stało. Myślę, ze forum właśnie jest od wskazania rzeki czy drogi i dzieki Ci.

Co do błędu.. hmm jedyny błąd jaki dostrzegłem w tej metodzie ale to już chyba na podsumowanie będzie. to:

 for(int i = 0; i < dziennik.oceny.size(); i++){

iteracja po złej liscie była, poprawiając to oceny się losują chyba ok. Kwestia tego ze zagniezonej petli w tym wypadku nie ograniam jak zrobic zeby wyswietlaly sie oceny z przedmiotu a w przedmiocie a a nie na zasadzie abc , tak przyznaje sie. Jednak kwestia czasu i się zmieni.

Funkcje? O czym ty mówisz? Zreszta chyba w javie ich nie ma..

Czasem trzeba kogoś wrzucić do wody żeby nauczył się pływać, a nie podcinać skrzydała przy problemach i skreślać na pierwszych schdach, to tak ode mnie, bo jak by człowiek miał się poddać kiedy ktoś inny mu powie stop to nie było by tego wszystkiego co dziś nas otacza(postęp, technologia,życie).

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