Diskuze: Kontrola prográmku v JAVE a odstranění začátečnických chyb
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 4 zpráv z 4.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Ahoj, keď píšeš otázku, tak hore máš tlačítko "vložiť zdrojový kód". Ten svoj zdrojový kód sem daj pomocou toho tlačítka, v hentom sa nevyzná nikto a nikto to nebude ani čítať.
Tak ještě jednou:
třída Banka s metodou main:
package banka;
import java.sql.SQLException;
import java.text.ParseException;
import java.util.Scanner;
/**
*
* @author szoubek
*/
public class Banka {
public static void main(String[] args) throws SQLException, ParseException {
Scanner sc = new Scanner(System.in, "UTF-8");
System.out.println("Vitejte v bance Kaktus Banka.");
System.out.println("Jste klient nebo bankéř? 1 - klient, 2 - bankéř:");
int volba = Integer.parseInt(sc.nextLine());
switch (volba)
{
case 1:
Klient klienti = new Klient();
klienti.Klienti();
break;
case 2:
Banker banker = new Banker();
banker.operaceBankere();
break;
default:
System.out.println("Nebyla zadána správná volba!");
break;
}
}//end main
}//end Banka
třída Banker:
package banka;
import java.sql.SQLException;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author szoubek
*/
public class Banker {
private String jmeno;
private String prijmeni;
private String login;
private String heslo;
private String osloveni;
private String datumZalozeni;
private String sporiciUcet;
private String debet;
private int castkaDebetu;
private int cisloBUctu;
private int opak = 0;
private Scanner sc = new Scanner(System.in, "UTF-8");
public void operaceBankere() throws SQLException {
Scanner sc = new Scanner(System.in, "UTF-8");
System.out.println("Zadej operaci, kterou chcete provést:");
System.out.println("1 - Aktivace nového klienta");
System.out.println("2 - Založit nový účet");
System.out.println("3 - Založit nový spořící účet");
System.out.println("4 - Zrušit klienta");
System.out.println("5 - Zrušit běžný účet");
System.out.println("6 - Zrušit spořící účet");
int volba = Integer.parseInt(sc.nextLine());
switch (volba)
{
case 1:
Banker novyKlient = new Banker();
novyKlient.zalozitNovehoKlienta();
break;
case 2:
Banker novyBUcet = new Banker();
novyBUcet.zalozitNovyBeznyUcet();
break;
case 3:
Banker novySUcet = new Banker();
novySUcet.zalozitNovySporiciUcet();
break;
case 4:
System.out.println("Zrušit klienta");
break;
case 5:
System.out.println("Zrušit účet");
break;
case 6:
System.out.println("Zrušit spořící účet");
break;
default:
System.out.println("Nebyla zadána správná volba!");
break;
}
}
public void zalozitNovehoKlienta() throws SQLException {
System.out.println("Aktivace nového klienta");
System.out.println("Zadejte Jméno: ");
jmeno = sc.nextLine();
System.out.println("Zadejte Přijmení: ");
prijmeni = sc.nextLine();
do
{
System.out.println("Zadejte Login: ");
login = sc.nextLine();
Connect_to_DB kontrolaLogin = new Connect_to_DB();
kontrolaLogin.kontrolaLogin(login);
if (kontrolaLogin.getLoginExist() != null)
{
System.out.println("Login je již registrován, zadejte jej znovu.");
opak = 1;
}
else
{
System.out.println("Zadejte Heslo: ");
heslo = sc.nextLine();
System.out.println("Zadejte Oslovení: ");
osloveni = sc.nextLine();
Connect_to_DB novyKlient = new Connect_to_DB();
novyKlient.InsertKlient(jmeno,prijmeni,login,heslo,osloveni);
Connect_to_DB kontrolaKlienta = new Connect_to_DB();
kontrolaKlienta.existenceKlienta(login, heslo);
if (kontrolaKlienta.getExistenceKlienta() == null)
{
System.out.println("Klient neexistuje, zadejte login a heslo znovu.");
}
else
{
System.out.println("Aktivovat debet? [ano/ne]");
debet = sc.nextLine();
Debet aktivaceDebetu = new Debet();
if ("Ano".equals(debet))
{
castkaDebetu = aktivaceDebetu.aktivaceDebetu();
}
else
{
castkaDebetu = 0;
}
Connect_to_DB novyBUcet = new Connect_to_DB();
novyBUcet.InsertBUcet(kontrolaKlienta.getExistenceKlienta(), debet, castkaDebetu, null);
}
opak = 2;
}
}
while (opak == 1);
}
}
No já nejsem žádný expert, ale na první pohled je vidět, že máš jasno v takových těch základech, co se týká syntaxe jazyka. Dále by ses měl rozhodně zaměřit na samotnou architekturu aplikace - oddělit gui od dat například. Zatím používáš textové rozhraní pro interakci s uživatelem, ale představ si, že se za pár měsíců rozhodneš to předělat aby to mělo pěkné okýnkové prostředí, napsané třeba za pomocí Swingu nebo JavaFX. Tak jak to máš napsané teďka z toho při tom přepisování zešedivíš. Měl bys mít samostatný objekt na tu komunikaci s uživatelem, samostatný objekt na komunikaci s datovým úložišťem a samostatný objekt který by to celé koordinoval. Přímo tady na webu vyšel článenk na toto téma - http://www.itnetwork.cz/…avrhovy-vzor
Zobrazeno 4 zpráv z 4.