Är i full färd med att försöka lära mig java, men har kört fast ordentligt i "programmet" jag kämpar med.
är ett program som man registrerar personer och deras ägodelar i,
och värdet på prylarna räknas ut. så långt allt väl.
Men när det kommer till att räkna ut en persons totala rikedom, och lista ut samtliga prylarna som personen äger, kör jag rakt in i väggen.
klistrar in en del av koden tagen ur en av klasserna som är tänkt att ta fram infon för EN speciell person och lista den personens prylar.
void visaVissPerson(){
String vem=readString("Namnet på personen du söker");
int x=0;
for(Person per : personer){
if (per.getNamn().equalsIgnoreCase(vem)){
x++;
// System.out.println(per);
System.out.println(per.getNamn()+per.getVärde()+per.getSak()+per.getTotal());
}
}
(det ligger i en klass som heter Dialog och som även innefattar main-metoden)
i den klassen ligger även en ArrayList med samtliga personer som lagras.
i en klass som heter Person ligger en ArrayList med samtliga prylar som varje person har.
Har även en liknande getVärde() metod i Personklassen...
som ser ut såhär.
public int getVärde(){
for (Prylar pr : prylar){
rikedom=rikedom+pr.getVärde();
break;
}
Problemet jag har är helt enkelt att varje gång jag kör metoden VisaVissPerson() i main-metoden så plussas personens rikedom ihop...
dvs den visar korrekt första varvet, sedan felaktiga...
detta är ju helt logiskt då rikedom sätts till rikedom plus prylens värde...
men HUR kan man lösa detta på ett fungerande sätt?
Har även en getVärdeMetod() i Prylar-klassen
har lagt in sådana lite överallt, tänkte ta och rensa i koden när jag väl fått det att fungera...
den ser ut såhär:
public int getVärde(){
return värde;
}
Några förslag?! vore extremt tacksam för hjälpen!
:bire