Hej har en skoluppgift jag inte får till det på alls trots otaliga försök samt youtube videos mm...
Iaf så är uppgiften att skriva ett bankprogram. I detta bankprogram skall alla metoder vara privata samt ligga i en annan class än själva programmet gör.
Problemet jag har är att jag inte lyckas anropa metoderna oavsett hur jag en försker få bort dem...
här är min nuvarande kod som är den senaste jag testat vilket skall funka enligt youtube men jag får det inte att funka
// Eldritched
Iaf så är uppgiften att skriva ett bankprogram. I detta bankprogram skall alla metoder vara privata samt ligga i en annan class än själva programmet gör.
Problemet jag har är att jag inte lyckas anropa metoderna oavsett hur jag en försker få bort dem...
här är min nuvarande kod som är den senaste jag testat vilket skall funka enligt youtube men jag får det inte att funka
Kod:
package labb4; import java.util.Scanner; import java.lang.reflect.Method; class Bank{ //Main funktionen public static void main(String[] args){ Scanner scanner = new Scanner(System.in); String nbr ; double saldoSvar; Class c=Class.forName("Bankkonto"); Object obj=c.newInstance(); Method m=c.getDeclaredMethod("insättning","uttag","visaSaldo",null); m.setAccessible(true); m.invoke(obj, null); Bankkonto konto = new Bankkonto(0.00); System.out.println("Välkommen till bankprogrammet Tryck 1 för att utföra ett automatiskt programtest eller annan knapp för att starta det"); nbr = scanner.next(); while (!nbr.equals("j")) { if( nbr.equals("1")) { //Testar genom att först ta ut och sen sätta in System.out.println("Testar programmets funktioner"); System.out.println("Sätter in 10001"); konto.insättning(10001.00); saldoSvar = konto.visaSaldo(); System.out.println("Kontots saldo: " + saldoSvar); System.out.println("Tar ut 10000"); konto.uttag(10000.00); saldoSvar = konto.visaSaldo(); System.out.println("Kontots saldo: " + saldoSvar); System.out.println("Testar att ta 10000 igen vilket då ej går pga för lågt saldo"); konto.uttag(10000.00); saldoSvar = konto.visaSaldo(); System.out.println("Tömmer kontot"); konto.uttag(1.00); saldoSvar = konto.visaSaldo(); System.out.println("Kontots saldo: " + saldoSvar); } if( nbr.equals("2")) { System.out.println("Skriv in inssättningsbelopp"); double q = scanner.nextDouble(); konto.insättning(q); saldoSvar = konto.visaSaldo(); System.out.println("Kontots saldo: " + saldoSvar); } else if( nbr.equals("3")) { System.out.println("Skriv in uttagssbelopp"); double q = scanner.nextDouble(); konto.uttag(q); saldoSvar = konto.visaSaldo(); System.out.println("Kontots saldo: " + saldoSvar); } else { System.out.println("Skriv in ett korrektvärde"); } System.out.println("Tryck 1 för att utföra ett automatiskt programtest, 2 För insättning samt 3 för uttag, Avsluta programmet med j"); nbr = scanner.next(); } } } //Klassen Bankkonto public class Bankkonto{ private double saldo; //Konstruktor Konto private Bankkonto(double startBelopp){ saldo = startBelopp; } //Metoden insättning private void insättning(double belopp){ saldo = saldo + belopp; } //Metoden uttag private void uttag(double belopp){ double nyttSaldo = saldo - belopp; if (nyttSaldo < 0) System.out.println("Du har bara " + saldo + " kronor."); else saldo = nyttSaldo; } //Metoden visaSaldo private double visaSaldo(){ return saldo; } }
// Eldritched