Eli siis, piti tehä kouluun tällänen pankkitili systeemi mihin voi tallettaa, nostaa ja kattoo paljo siel on rahaa...
Nyt ei sitten tuo talletus toimi... Eli missä vika ?
Tässä koodi :
valikko(); valinta = Lue.merkki(); switch (valinta) { case '1': rahat();break; case '2': otto();break; case '3': talletus();break; case 'x':; case 'X':lopetus();break; default: virhe();break; } }while (valinta !='x' && valinta !='X'); } public static void rahat() { System.out.println("Valitsit toiminnon 'tilin saldon tulostus'"); System.out.println("Tilin saldo on: "); System.out.println(saldo + " Euroa"); stop (); } public static void otto() { System.out.println("Valitsit toiminnon 'tililtä otto'"); System.out.println("Kuinka paljon haluat ottaa rahaa tilitä ?"); double tiliOtto = Lue.dluku(); if (saldo < tiliOtto) { System.out.println("Error!"); System.out.println("Et voi ottaa enempää kuin tilillä on rahaa !"); } else saldo = saldo-tiliOtto; stop ();
Ei mun silmiini ainakaan satu toi talletus-metodi.
Ai kato sori jäi tämä puuttumaan :)
} public static void talletus() { System.out.println("Valitsit toiminnon 'tilille talletus'"); System.out.println("Anna talletettava summa"); double talletettava= Lue.dluku(); if (saldo < 0) System.out.println("Et voi tallettaa 0Euroa tai alle!"); else saldo=saldo+talletettava; System.out.println("Talletettu"); stop ();
// on näin if (saldo < 0) // eikö pitäisi olla if (talletettava < 0) // on näin saldo=saldo+talletettava; // voisi olla näin saldo += talletettava // on näin stop(); // mitä tuo tekee? jos haluat pysäyttää ohjelman niin System.exit(0);
Toimiikos tuo lopetus tuossa? Mietin vaan notta pitäskö sen olla "case 'x', 'X':". En kyllä muista tuosta sanoa.
Nuo peräkkäiset caset tulisi olla esimerkiksi tyyliin "case 'x': case 'X': case 'Äxä'" ja niin edelleen, eli tuolla näköjään ylimääräinen puolipiste x:n jälkeen... sikäli kun se mitenkään koodin toimintaan vaikuttaa (tyhjä lause?).
Aihe on jo aika vanha, joten et voi enää vastata siihen.