<prompt> Tengeneza programu ya Java inayoiga mfumo rahisi wa akaunti ya benki na utendaji kazi kama vile kuweka, kutoa na kuangalia salio. Tumia hifadhidata ya MariaDB kuhifadhi maelezo ya akaunti na historia ya muamala.PLINFORMAT  <response>: javakuagiza java.sql.Connection;agiza java.sql.DriverManager;agiza java.sql.SQLException;DatabaseConnection ya darasa la umma Private tuli final String DB_URL jdbc:mariadb:localhost:3306bank_db; Kamba ya tuli ya faragha DB_USER bank_user; Kamba ya tuli ya faragha DB_PASSWORD neno_la_siri; public Connection tuli getConnection hutupa SQLException rudisha DriverManager.getConnectionDB_URL, DB_USER, DB_PASSWORD; kuagiza java.sql.Connection;agiza java.sql.PreparedStatement;agiza java.sql.ResultSet;agiza java.sql.SQLException;Akaunti ya benki ya daraja la umma kitambulisho cha int ya kibinafsi; usawa wa kibinafsi mara mbili; Akaunti ya benki ya ummaint id this.id id; this.balance getBalanceFromDB; Private double getBalanceFromDB jaribu Connection conn DatabaseConnection.getConnection PreparedStatement stmt conn.prepareStatementCHAGUA salio KUTOKA kwa akaunti WAPI id ?; stmt.setInt1, kitambulisho; ResultSet rs stmt.executeQuery; ikiwa rs.ijayo return rs.getDoubleusawa; nyengine tupa RuntimeException mpyaAkaunti haipatikani.; catch SQLException e tupa RuntimeException mpyae; amana batili ya umma kiasi mara mbili sasishaBalancekiasi; uondoaji wa utupu wa umma kiasi mara mbili sasishaBalance-kiasi; sasisho la faragha la utupuMizanikiasi mara mbili jaribu Connection conn DatabaseConnection.getConnection PreparedStatement stmt conn.prepareStatementSASISHA akaunti SET salio salio ? WAPI id ?; stmt.setDouble1, kiasi; stmt.setInt2, id; int rowsAffected stmt.executeUpdate; ikiwa safu Imeathiriwa 0 tupa RuntimeException mpyaImeshindwa kusasisha salio la akaunti.; catch SQLException e tupa RuntimeException mpyae; public double getBalance rudisha getBalanceFromDB; agiza java.util.Skena;Benki ya darasa la umma utupu tuli wa umma String args Kichanganuzi cha kichanganuzi Kichanganuzi kipya System.in; System.out.printIngiza kitambulisho cha akaunti yako: ; int accountId scanner.nextInt; Akaunti ya Benki Akaunti mpya ya BenkiaccountId; wakati kweli System.out.printlnn1. Amana; System.out.println2. Toa; System.out.println3. Angalia salio; System.out.println4. Toka; System.out.printChagua chaguo: ; int choice scanner.nextInt; kubadili chaguo kesi 1: System.out.printWeka kiasi cha amana: ; depositAmount mara mbili scanner.nextDouble; akaunti.depositdepositAmount; mapumziko; kesi 2: System.out.printIngiza kiasi cha uondoaji: ; double withdrawAmount scanner.nextDouble; akaunti.toawithdrawAmount; mapumziko; kesi 3: System.out.printfSalio lako la sasa ni: .2fn, account.getBalance; mapumziko; kesi 4: Kutoka kwa mfumo.0; mapumziko; chaguo-msingi: System.out.printlnChaguo batili.; 