• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Co poprawić w tym zadaniu?

0 głosów
118 wizyt
pytanie zadane 22 listopada 2015 w Java przez uczeń1998 Obywatel (1,940 p.)
edycja 22 listopada 2015 przez uczeń1998

Zad. Czas Napisać klasę Czas służącą do zapamiętania okresu czasu tj. liczby godzin i minut. Klasa ta powinna mieć dwa pola prywatne: • int godz; • int minuty; oraz metody publiczne: • konstruktor z parametrami będącymi liczbą godzin i minut, • konstruktor przyjmujący jako parametr łańcuch znaków na podstawie którego można ustalić wartość godzin i minut np. ”12 h 58 min” • String toString() której wynikiem jest łańcuch znaków opisujący dany okres czasu, np. ”29 h 19 min” • Czas dodaj(Czas t) której wynikiem jest nowy

 

package zadania;
public class c2D {
	int godz;
	int minuty;
	int minutToInt;
	int godzinToInt;
	int minutDoDodania;
	int godzinDoDodania;
	String[] tablica;
	public c2D(int godz, int minuty){
		this.minuty=minuty;
		this.godz=godz;
	}
	
	public c2D(String ciag){
        this.minuty=obliczMinuty(ciag);
        this.godz=obliczGodziny(ciag);
        
		}
		
	
	int obliczMinuty(String ciag){
		minutToInt=0;
		tablica=ciag.split(" ");
		String minut=tablica[0];
		String godz=tablica[2];
		for(int i=0; i<minut.length(); i++){
			if(i==0){
			minutToInt+=(int)((minut.charAt(i))-48)*10;
			}
			if(i==1){
				minutToInt+=(int)(minut.charAt(i))-48;
			}
		}
		return minutToInt;
	}
	
	int obliczGodziny(String ciag){
		godzinToInt=0;
		String godz=tablica[2];
		for(int i=0; i<godz.length(); i++){
			if(i==0){
			godzinToInt+=(int)((godz.charAt(i))-48)*10;
			}
			if(i==1){
				godzinToInt+=(int)(godz.charAt(i))-48;
			}
		}
		return godzinToInt;
	}
	
	public String toString(){
		String a= String.valueOf(godz);
		a+=" h ";
		a+= String.valueOf(minuty);
		a+=" min ";
		return a;	
	}
	
	c2D dodaj(c2D t){
		minutDoDodania= t.minuty;
		godzinDoDodania=t.godz;
		if(this.minuty+t.minuty>=60){
			this.godz+=(int)((this.minuty+t.minuty)/60);
			this.minuty=((this.minuty+t.minuty)%60);
		}
        else{
         this.godz+=t.godz;
         this.minuty+=t.minuty; 
      }
		return this;
	}
	
	
}

 

1 odpowiedź

0 głosów
odpowiedź 22 listopada 2015 przez Grzyboo Nałogowiec (29,010 p.)

Nie rozumiem po co te pola

int minutToInt;
int godzinToInt;
int minutDoDodania;
int godzinDoDodania;
String[] tablica;

Użyj je wewnątrz tych funkcji, które tego potrzebują zamiast zaśmiecać całą klasę niepotrzebnymi danymi.

komentarz 22 listopada 2015 przez uczeń1998 Obywatel (1,940 p.)
okej ;) coś jeszcze jest źle?

Podobne pytania

+1 głos
1 odpowiedź 101 wizyt
pytanie zadane 7 listopada 2015 w Java przez uczeń1998 Obywatel (1,940 p.)
0 głosów
2 odpowiedzi 98 wizyt
pytanie zadane 29 września 2015 w Java przez uczeń1998 Obywatel (1,940 p.)
0 głosów
5 odpowiedzi 214 wizyt
pytanie zadane 23 listopada 2016 w HTML i CSS przez lapa19904 Mądrala (5,230 p.)
Porady nie od parady
Zadając pytanie postaraj się o poprawną pisownię i czytelne formatowanie tekstu.Kompozycja

62,231 zapytań

108,343 odpowiedzi

226,151 komentarzy

34,593 pasjonatów

Przeglądających: 140
Pasjonatów: 13 Gości: 127

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...