Forum » Programiranje » JAVA-NALOGA- Pomoc NUJA!!!!!
JAVA-NALOGA- Pomoc NUJA!!!!!
bijonda ::
Evo se ene naloge. Jaz vec ne znam.
Kaj moram se napisat, da poskrbim za kopmonente iz razreda Vozilo pri konstruktorju
Avtomobil()?
Da uporabnik ne bi mogu narediti avtomobila s porabo -100 ali/in ceno -7653476!
Spodar je moj razrde Avtomobil, razreda Vozlo, pa vem ne morem dati, ker ga imam samo v class obliki!
####################################
Razred:
public class Avtomobil extends Vozilo{
private double porabaGoriva;
private String barva;
private String znamka;
private int cena;
//konstruktorja
//brez parametrov: ustvari avtomobil znamke Ford Focus zelene barve,
// s povprečno porabo goriva 7 litrov na 100 kilometrov ter ceno 3.600.000 SIT.
public Avtomobil() throws Exception {
super("avto",1000,4);
if ((4 < porabaGoriva && porabaGoriva < 100) && (0 < cena && cena < 100000000)) {
this.znamka = "Ford Fokus";
this.barva = "zelena";
this.porabaGoriva = 7;
this.cena = 3600000;
}
else {
throw new Exception("Ne obstaja tak Ford Focus");
}
}
/*takega, ki sprejme vse lastnosti avtomobila (pazi, da ima avtomobil tudi vse lastnosti razreda
vozilo!)in ustvari ustrezen objekt. Ce so podatki izven predpisanih mej naj vrze izjemo.
Pri tem uporabi konstruktor razreda Vozilo.
*/
public Avtomobil(String vrstaVozila, int masaVozila, int steviloKoles, double porabaGoriva,
String barva,String znamka,int cena)throws Exception{
super(vrstaVozila,masaVozila,steviloKoles);
this.porabaGoriva = porabaGoriva;
this.barva = barva;
this.znamka = znamka;
this.cena = cena;
}
public void nastaviSteviloKoles(int steviloKoles)throws Exception{
if( steviloKoles >= 3 && steviloKoles =< 8){
super.nastaviSteviloKoles( steviloKoles);
}
else{
throw new Exception("Podajte stevilo koles, ki mora biti med 3 in 8.");
}
}
// set metode
/*za spreminjanje oz. branje barve: nastaviBarvo, vrniBarvo - ce je vrednost pri nastavljanju
barve enaka null, mora metoda vreci izjemo
*/
public void nastaviBarvo(String barva) throws Exception{
if(barva == null){
throw new Exception("Podaj barvo.");
}
else{
this.barva = barva;
}
}
/*za spreminjanje oz. branje znamke vozila: nastaviZnamko, vrniZnamko - ce je vrednost
pri nastavljanju znamke enaka null, moramo metoda vreci izjemo
*/
public void nastaviZnamko(String znamka) throws Exception {
if(znamka == null){
throw new Exception("Podaj znamko.");
}
else{
this.znamka = znamka;
}
}
/*za spreminjanje oz. branje povprecne porabe goriva: nastaviPorabo,
vrniPorabo - ce poraba ni v dolocenih mejah, moramo vreci izjemo.
*/
public void nastaviporaboGoriva(double porabaGoriva)throws Exception{
if(porabaGoriva >= 4 && porabaGoriva =< 20){
this.porabaGoriva = porabaGoriva;
}
else{
throw new Exception("Podaj povprecno porabo goriva ki je med 4 in 20 litri.");
}
}
/*za spreminjanje oz. branje cene vozila: nastaviCeno, vrniCeno - ce cena ni v predpisanih mejah,
moramo vreci izjemo.
*/
public void nastaviCeno(int cena)throws Exception{
if(0 < cena && cena < 100000000){
this.cena = cena ;
}
else{
throw new Exception("Podaj ceno ki znasa med 0 in 100000000.");
}
}
//get metode
public String vrniBarvo(){
return barva;
}
public String vrniZnamko(){
return znamka;
}
public double vrniPorabo(){
return porabaGoriva;
}
public int vrniCeno(){
return cena;
}
public String toString(){
return "Imamo avtomobil,ki je barve " +barva+" in je znamke "+znamka+ " povprecna poraba goriva je "
+porabaGoriva+ " ter ima ceno " + cena+".";
}
}
Kaj moram se napisat, da poskrbim za kopmonente iz razreda Vozilo pri konstruktorju
Avtomobil()?
Da uporabnik ne bi mogu narediti avtomobila s porabo -100 ali/in ceno -7653476!
Spodar je moj razrde Avtomobil, razreda Vozlo, pa vem ne morem dati, ker ga imam samo v class obliki!
####################################
Razred:
public class Avtomobil extends Vozilo{
private double porabaGoriva;
private String barva;
private String znamka;
private int cena;
//konstruktorja
//brez parametrov: ustvari avtomobil znamke Ford Focus zelene barve,
// s povprečno porabo goriva 7 litrov na 100 kilometrov ter ceno 3.600.000 SIT.
public Avtomobil() throws Exception {
super("avto",1000,4);
if ((4 < porabaGoriva && porabaGoriva < 100) && (0 < cena && cena < 100000000)) {
this.znamka = "Ford Fokus";
this.barva = "zelena";
this.porabaGoriva = 7;
this.cena = 3600000;
}
else {
throw new Exception("Ne obstaja tak Ford Focus");
}
}
/*takega, ki sprejme vse lastnosti avtomobila (pazi, da ima avtomobil tudi vse lastnosti razreda
vozilo!)in ustvari ustrezen objekt. Ce so podatki izven predpisanih mej naj vrze izjemo.
Pri tem uporabi konstruktor razreda Vozilo.
*/
public Avtomobil(String vrstaVozila, int masaVozila, int steviloKoles, double porabaGoriva,
String barva,String znamka,int cena)throws Exception{
super(vrstaVozila,masaVozila,steviloKoles);
this.porabaGoriva = porabaGoriva;
this.barva = barva;
this.znamka = znamka;
this.cena = cena;
}
public void nastaviSteviloKoles(int steviloKoles)throws Exception{
if( steviloKoles >= 3 && steviloKoles =< 8){
super.nastaviSteviloKoles( steviloKoles);
}
else{
throw new Exception("Podajte stevilo koles, ki mora biti med 3 in 8.");
}
}
// set metode
/*za spreminjanje oz. branje barve: nastaviBarvo, vrniBarvo - ce je vrednost pri nastavljanju
barve enaka null, mora metoda vreci izjemo
*/
public void nastaviBarvo(String barva) throws Exception{
if(barva == null){
throw new Exception("Podaj barvo.");
}
else{
this.barva = barva;
}
}
/*za spreminjanje oz. branje znamke vozila: nastaviZnamko, vrniZnamko - ce je vrednost
pri nastavljanju znamke enaka null, moramo metoda vreci izjemo
*/
public void nastaviZnamko(String znamka) throws Exception {
if(znamka == null){
throw new Exception("Podaj znamko.");
}
else{
this.znamka = znamka;
}
}
/*za spreminjanje oz. branje povprecne porabe goriva: nastaviPorabo,
vrniPorabo - ce poraba ni v dolocenih mejah, moramo vreci izjemo.
*/
public void nastaviporaboGoriva(double porabaGoriva)throws Exception{
if(porabaGoriva >= 4 && porabaGoriva =< 20){
this.porabaGoriva = porabaGoriva;
}
else{
throw new Exception("Podaj povprecno porabo goriva ki je med 4 in 20 litri.");
}
}
/*za spreminjanje oz. branje cene vozila: nastaviCeno, vrniCeno - ce cena ni v predpisanih mejah,
moramo vreci izjemo.
*/
public void nastaviCeno(int cena)throws Exception{
if(0 < cena && cena < 100000000){
this.cena = cena ;
}
else{
throw new Exception("Podaj ceno ki znasa med 0 in 100000000.");
}
}
//get metode
public String vrniBarvo(){
return barva;
}
public String vrniZnamko(){
return znamka;
}
public double vrniPorabo(){
return porabaGoriva;
}
public int vrniCeno(){
return cena;
}
public String toString(){
return "Imamo avtomobil,ki je barve " +barva+" in je znamke "+znamka+ " povprecna poraba goriva je "
+porabaGoriva+ " ter ima ceno " + cena+".";
}
}
Gundolf ::
Zdaj pa že toliko postaš po tem oddelku, da bi res že lahko upoštevala navodila od tule: PREBERI ME: označevanje topicov v oddelku programiranje.
Tisto preverjanje cene in porabe goriva premakni iz default konstruktorja, kjer nič pametnega ne dela v tisti konstruktor, ki sprejme vse te podatke na vhodu. Potem pa bo tako kot si želiš, da ne bo mogoče ustvariti avta z negativno ceno itd.
Tisto preverjanje cene in porabe goriva premakni iz default konstruktorja, kjer nič pametnega ne dela v tisti konstruktor, ki sprejme vse te podatke na vhodu. Potem pa bo tako kot si želiš, da ne bo mogoče ustvariti avta z negativno ceno itd.
jan01 ::
ena čisto generična naloga... bistvo dedovanja je, da metode(iz vozilo) imaš tudi v podrazredu(avtomobil).Tako najbrž že imaš večino metod, ki si jih kar sam v podrazredu spisal...
Daj nalimaj nekam class vozilo(magari na rapidshari.com), da vidim kodo(ja vem da ni to source)
Daj nalimaj nekam class vozilo(magari na rapidshari.com), da vidim kodo(ja vem da ni to source)
bijonda ::
Se opravicujem za pravila. Res jih nisem se prebla. Sem jih pa zdaj, tako da se bom drzala pravil, kot se spodobi!
Hvala. Samo nalogo sem ze resila kot je Gundolf predlagal!
Thx and sorry!
Hvala. Samo nalogo sem ze resila kot je Gundolf predlagal!
Thx and sorry!
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [Java] Urejanje baze z JTableOddelek: Programiranje | 1009 (793) | vonNeumann |
» | [JAVA] Simpl problem z IF - ELSE stavkom :)Oddelek: Programiranje | 1757 (1500) | morbo |
» | [NALOGA][JAVA] oklepaji - skladiOddelek: Programiranje | 1770 (1601) | bijonda |
» | [Java][Naloga] SkladiOddelek: Programiranje | 1671 (1470) | bijonda |
» | [Naloga][Java] UlomkiOddelek: Programiranje | 2657 (2505) | SkIDiver |