PDA

View Full Version : Java problem


A-HA
2001-09-04, 21:46
Hejsan

Problemet som uppstår är att vid utskrift så blir det inte rätt belopp, dvs det måste vara något fel någonstans i koden...för om jag har satt in 400 på carinas konto och sen tar ut 300 och sätter sedan in 250 så blir summan 250 kr men det ska bli 350. Är det någon som ser var felet ligger har försökt på alla sätt ovh vis men får ändå inte till det. Samma gäller för dennis konto, det blir fel där med???
Snälla hjälp mig med detta innan jag blir galen ;))

class Konto
{
private int Saldo;
private String KontoInnehavare;
public Konto(int saldo, String KontoInnehavare)throws Exception{
setSaldo(saldo);
setKontoInnehavare(KontoInnehavare);
}

public int getSaldo(){
return Saldo;
}

public String getKontoInnehavare(){
return KontoInnehavare;
}
public void setSaldo(int saldo)throws Exception{
if(Saldo<0)
throw new Exception("Inga pengar pa kontot!");
this.Saldo = saldo;
}

public void setKontoInnehavare(String KontoInnehavare)throws Exception{
if(KontoInnehavare.length()>6)
throw new Exception("Kontoinnehavarens namn måste vara 6 bokstäver!");

this.KontoInnehavare = KontoInnehavare;
}


public static void main (String[] args)throws Exception
{
try{
Konto k1 = new Konto(0, "Dennis");
Konto k2 = new Konto(400, "Carina");

System.out.println(k1.getKontoInnehavare()+":"+k1.getSaldo());
System.out.println(k2.getKontoInnehavare()+":"+k2.getSaldo());
}catch(Exception e){System.out.println("ERROR:"+e.getMessage());}

System.out.println();
System.out.println("Skapa ett konto till Dennis med 0 kr");
Konto k1 = new Konto(0, "Dennis");
System.out.println();

System.out.println("Satt in 500 kr pa Dennis konto");
k1.setSaldo(500);

System.out.println("Ta ut 350 kr pa Dennis konto");
k1.setSaldo(350);

System.out.println("Saldot pa Dennis konto ar: " + k1.getSaldo() + " kr");

System.out.println();

System.out.println("Skapa ett konto till Carina med 400 kr");
System.out.println();

Konto k2 = new Konto(400, "Carina");

System.out.println("Ta ut 300 fran Carinas Konto");
k2.setSaldo(300);

System.out.println("Satt in 250 pa Carinas konto");
k2.setSaldo(250);

System.out.println("Saldot pa Carinas konto ar: " + k2.getSaldo() + " kr");

System.out.println();


}
}

------------------
AHA

Chainsaw
2001-09-04, 21:57
Hehe... Grov bugg upptäcktes ganska fort, du. Finn ett fel:

// Sätt i till 1, och lägg sedan till 1
i = 1;
i = 1;

Precis detta gör du (se efter själv). Istället för att ta ut 350 spänn fr?n Dennis konto s? ersätter du hans 500 spänn med 350 pengar. Du borde lösa det här med hjälp av withdraw() och deposit()-metoder istället.

------------------
Den fruktade Motorgåsen - på korståg för att utrota popup-fönster, Flash-banners, nykterister utan humor som befinner sig på samma fest som mig, felaktiga ordspråk, öl som inte smakar gott och andra styggelser!