Forum » Programiranje » [Java][Naloga] Skladi
[Java][Naloga] Skladi
bijonda ::
Ciao!
Evo se ene naloge, ki mi dela tezave. Tolkrat se igram s skladi.
#####################
Glavni program:
public class Naloga9 {
public static Sklad sodi(Sklad a) {
// naredimo nov sklad, ki je prazen
Sklad sodiSklad = new Sklad();
// preverjamo, dokler sklad a ni prazen
while(!a.prazen()) {
// ce je stevilo na vrhu sklada sodo, ga damo v sodiSklad
if(Integer.parseInt(a.vrh()) % 2 == 0) {
sodiSklad.vstavi(a.vrh());
}
// v vsakem primeru, iz skalda a odstarnimo vrhni podatek
a.odstrani();
}
// obraèanje za pravilni vrstni red
while(!sodiSklad.prazen()) {
a.vstavi(sodiSklad.vrh());
sodiSklad.odstrani();
}
// vrnemo sodiSklad
return a;
}
}
#########################3
Razred od koder podedujem metode,...
public class Sklad {
private E[] tab;
private int kam; // kazalec na mesto, kjer bomo vstavili nov element
private final static int MAX_V = 20; // privzeta velikost sklada
// kostruktorji (pripravi)
public Sklad() {
tab = (E[]) new Object[MAX_V]; // zal Java ne pusti new E[MAX_V]
kam = 0;
}
public Sklad(int vel) {
tab = (E[]) new Object[vel]; // zal Java ne pusti new E[vel]
kam = 0;
}
// metode
public void vstavi(E pod) throws Exception {
// vstavi podatek pod v sklad
if (kam >= tab.length) throw new Exception("Sklad je poln");
else {
tab[kam] = pod;
kam = kam + 1;
}
}
public void odstrani() throws Exception {
// odstrani podatek iz sklada
if (!prazen())
kam = kam - 1;
else throw new Exception("sklad je prazen");
}
public boolean prazen() {
// ali je sklad prazen
return (kam == 0);
}
public E vrh() throws Exception {
// vrne vrhnji element sklada
if (!prazen())
return tab[kam - 1]; // kam kaže na prvo PROSTO mesto
else throw new Exception("sklad je prazen");
}
public String toString() {
String izp = "";
for (int i = kam - 1; i >= 0; i--)
izp += " -:- " + tab[i];
return izp;
}
///// dodatni metodi
public boolean poln() {
// je sklad poln?
return (kam == tab.length);
}
public void izpis() {
// izpise sklad in ga ohrani
for(int i = kam - 1; i >= 0; i--)
System.out.print(tab[i] + " ");
System.out.println();
}
}
#####################3
testni program:
// testni program pri 9 Domaci nalogi
public class TestSklad {
public static void main(String[] args) {
Sklad testni = new Sklad();
for(int i = 0; i == 10;i++){
testni.vstavi(i);
}
System.out.println("Prvotni sklad: " + testni.toString());
System.out.println("Sodi sklad: " + sodi(testni).toString());
}
}
#########################
Zopet se mi ne prevede program.
Javimi napako:
C:\FAKS\RAC2 05_06\DOMACE_NALOGE\9.DN\Naloga9.java:19: cannot find symbol
symbol : method parseInt(java.lang.Object)
location: class java.lang.Integer
if(Integer.parseInt(a.vrh()) % 2 == 0) {
^
Note: C:\FAKS\RAC2 05_06\DOMACE_NALOGE\9.DN\Naloga9.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 error
Tool completed with exit code 1
#################3
Ali kdo ve kako odpraviti napako?
Jaz nisem nic pametnega nasla!
Thx!
Ciao caio
Evo se ene naloge, ki mi dela tezave. Tolkrat se igram s skladi.
#####################
Glavni program:
public class Naloga9 {
public static Sklad sodi(Sklad a) {
// naredimo nov sklad, ki je prazen
Sklad sodiSklad = new Sklad();
// preverjamo, dokler sklad a ni prazen
while(!a.prazen()) {
// ce je stevilo na vrhu sklada sodo, ga damo v sodiSklad
if(Integer.parseInt(a.vrh()) % 2 == 0) {
sodiSklad.vstavi(a.vrh());
}
// v vsakem primeru, iz skalda a odstarnimo vrhni podatek
a.odstrani();
}
// obraèanje za pravilni vrstni red
while(!sodiSklad.prazen()) {
a.vstavi(sodiSklad.vrh());
sodiSklad.odstrani();
}
// vrnemo sodiSklad
return a;
}
}
#########################3
Razred od koder podedujem metode,...
public class Sklad {
private E[] tab;
private int kam; // kazalec na mesto, kjer bomo vstavili nov element
private final static int MAX_V = 20; // privzeta velikost sklada
// kostruktorji (pripravi)
public Sklad() {
tab = (E[]) new Object[MAX_V]; // zal Java ne pusti new E[MAX_V]
kam = 0;
}
public Sklad(int vel) {
tab = (E[]) new Object[vel]; // zal Java ne pusti new E[vel]
kam = 0;
}
// metode
public void vstavi(E pod) throws Exception {
// vstavi podatek pod v sklad
if (kam >= tab.length) throw new Exception("Sklad je poln");
else {
tab[kam] = pod;
kam = kam + 1;
}
}
public void odstrani() throws Exception {
// odstrani podatek iz sklada
if (!prazen())
kam = kam - 1;
else throw new Exception("sklad je prazen");
}
public boolean prazen() {
// ali je sklad prazen
return (kam == 0);
}
public E vrh() throws Exception {
// vrne vrhnji element sklada
if (!prazen())
return tab[kam - 1]; // kam kaže na prvo PROSTO mesto
else throw new Exception("sklad je prazen");
}
public String toString() {
String izp = "";
for (int i = kam - 1; i >= 0; i--)
izp += " -:- " + tab[i];
return izp;
}
///// dodatni metodi
public boolean poln() {
// je sklad poln?
return (kam == tab.length);
}
public void izpis() {
// izpise sklad in ga ohrani
for(int i = kam - 1; i >= 0; i--)
System.out.print(tab[i] + " ");
System.out.println();
}
}
#####################3
testni program:
// testni program pri 9 Domaci nalogi
public class TestSklad {
public static void main(String[] args) {
Sklad testni = new Sklad();
for(int i = 0; i == 10;i++){
testni.vstavi(i);
}
System.out.println("Prvotni sklad: " + testni.toString());
System.out.println("Sodi sklad: " + sodi(testni).toString());
}
}
#########################
Zopet se mi ne prevede program.
Javimi napako:
C:\FAKS\RAC2 05_06\DOMACE_NALOGE\9.DN\Naloga9.java:19: cannot find symbol
symbol : method parseInt(java.lang.Object)
location: class java.lang.Integer
if(Integer.parseInt(a.vrh()) % 2 == 0) {
^
Note: C:\FAKS\RAC2 05_06\DOMACE_NALOGE\9.DN\Naloga9.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 error
Tool completed with exit code 1
#################3
Ali kdo ve kako odpraviti napako?
Jaz nisem nic pametnega nasla!
Thx!
Ciao caio
- spremenilo: snow ()
Bojevnik ::
V argument metode parseInt moras dati objekt tipa int.
Tvoja metoda vrh(), pa vrne tip E
Tvoja metoda vrh(), pa vrne tip E
bijonda ::
Sorry nisem stekala, kaj si mi zelel povedati!
Kaj bi mi lahko se enkrat povedal, lepo prosim!
Thx!
Kaj bi mi lahko se enkrat povedal, lepo prosim!
Thx!
Bojevnik ::
Napako ti ven vrže ker narobe kličes metodo parseInt.
Če hočeš pravilno klicati metodo parseInt, moraš v argumentu imeti String
Se pravi nekaj takega:
pri tebi je pa metoda Vrh() definirana tako:
se pravi, pri tebi je metoda vrh() tipa E in ti zato vrze ven napako.
Upam da je sedaj bolj razumljivo
Edit: tale koda, ki si jo tukaj nalepila vrže ven še kup drugih napak zato domnevam da ni zadnja verzija, ali pač?
Če hočeš pravilno klicati metodo parseInt, moraš v argumentu imeti String
Se pravi nekaj takega:
String abc="44"; int a = Integer.parseInt(abc);//to je pravilno
pri tebi je pa metoda Vrh() definirana tako:
public E vrh() throws Exception { // vrne vrhnji element sklada if (!prazen()) return tab[kam - 1]; // kam kaže na prvo PROSTO mesto else throw new Exception("sklad je prazen"); }
se pravi, pri tebi je metoda vrh() tipa E in ti zato vrze ven napako.
Upam da je sedaj bolj razumljivo
Edit: tale koda, ki si jo tukaj nalepila vrže ven še kup drugih napak zato domnevam da ni zadnja verzija, ali pač?
Zgodovina sprememb…
- spremenilo: Bojevnik ()
bijonda ::
Razumem kaj mi zelis povedati! Thx!
Ne ne je zadnja verzija, samo da sem v drugem pogramu stran dala:
public class Sklad znak za manjse E znak za vecji {
ker mi je javljal napako, nedovoljenaoznaka v html,skratka nisem mogla poslati razred kakor treba!
Ne ne je zadnja verzija, samo da sem v drugem pogramu stran dala:
public class Sklad znak za manjse E znak za vecji {
ker mi je javljal napako, nedovoljenaoznaka v html,skratka nisem mogla poslati razred kakor treba!
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [NALOGA][JAVA] oklepaji - skladiOddelek: Programiranje | 1762 (1593) | bijonda |
» | JAVA-NALOGA- Pomoc NUJA!!!!!Oddelek: Programiranje | 1648 (1571) | bijonda |
» | [Naloga][Java] UlomkiOddelek: Programiranje | 2644 (2492) | SkIDiver |
» | read integer v javiOddelek: Programiranje | 1364 (1265) | kopernik |
» | Java problemčekOddelek: Programiranje | 1430 (1223) | Imortales |