Consider adding a doc comment for StringGetSQL
32 }
33 }
34
35 public static String StringGetSQL(String query, String label) {36 String temp = null;37 try {38 Class.forName("com.mysql.cj.jdbc.Driver");39 Connection con =40 DriverManager.getConnection("jdbc:mysql://localhost:3306/atm", "root", "root");41 Statement stmt = con.createStatement();42 ResultSet rs = stmt.executeQuery(query);43 while (rs.next()) {44 temp = rs.getString(label);45 }4647 } catch (Exception e) {48 e.printStackTrace();49 }50 return temp;51 }52}
Consider adding a doc comment for UpdateData
18 }
19 }
20
21 public static void UpdateData(String query) {2223 try {24 Class.forName("com.mysql.cj.jdbc.Driver");25 Connection con =26 DriverManager.getConnection("jdbc:mysql://localhost:3306/atm", "root", "root");27 Statement stmt = con.createStatement();28 stmt.executeUpdate(query);2930 } catch (Exception e) {31 e.printStackTrace();32 }33 }34
35 public static String StringGetSQL(String query, String label) {
36 String temp = null;
Consider adding a doc comment for getResult
4import java.sql.Statement;
5
6public class SqlQuery {
7 public static ResultSet getResult(String query) { 8 9 try {10 Class.forName("com.mysql.cj.jdbc.Driver");11 Connection con =12 DriverManager.getConnection("jdbc:mysql://localhost:3306/atm", "root", "root");13 Statement stmt = con.createStatement();14 return stmt.executeQuery(query);1516 } catch (Exception e) {17 return null;18 }19 }20
21 public static void UpdateData(String query) {
22
Consider adding a doc comment for main
2import java.util.Scanner;
3
4public class Main {
5 public static void main(String[] args) throws Exception { 6 Scanner sc = new Scanner(System.in); 7 do { 8 System.out.println("Lutfen Kart Numaranizi giriniz... "); 9 String CardNum = sc.next();10 System.out.println("Lutfen pininizi giriniz... ");11 String Pin = sc.next();1213 Card card = new Login(CardNum, Pin);14 } while (!Login.login());1516 String currentID = Card.returnID();17 int checker = -1;1819 do {20 // terminal her seferinde temizlenmeli21 System.out.println(22 "Kullanibilir bakiyeniz: "23 + SqlQuery.StringGetSQL(24 "SELECT deposit FROM clients WHERE id=" + currentID, "deposit"));25 System.out.println("Lutfen yapmak istediginiz islemi seciniz. ");26 System.out.println("1: Para Cek 2: Para Yatir");27 System.out.println("3: Para Gonder 4: Borc Ode");28 System.out.println(" 0:Cikis Yap ");29 checker = sc.nextInt();30 Scanner scd = new Scanner(System.in);31 double amount;32 switch (checker) {33 case 0:34 System.out.println("Yine Bekleriz");35 break;36 case 1:37 System.out.println(38 "lutfen cekmek istediginiz tutari giriniz, bu minimum 10 en fazla 1000'dir");39 amount = scd.nextDouble();40 if (Transactions.withdraw(currentID, amount)) {41 System.out.println("para cekme basarili");42 } else {43 System.out.println("para cekme islemi basarisiz");44 }45 break;46 case 2:47 System.out.println("Lutfen yatirmak istediginiz tutari giriniz. ");48 amount = scd.nextDouble();49 if (Transactions.deposit(currentID, amount)) {50 System.out.println("para yatirma islemi basarili.");51 } else {52 System.out.println("para yatirma islemi basarisiz.");53 }54 break;55 case 3:56 System.out.println("Para gondermek istediginiz IBANI giriniz.. ");57 System.out.printf("TR ");58 String IBAN = sc.next();59 System.out.println("Gondermek istediginiz miktari giriniz.. ");60 amount = scd.nextDouble();61 if (Transactions.transfer(currentID, IBAN, amount)) {62 System.out.println("para gonderildi");63 } else System.out.println("para gonderilemedi.");64 break;65 case 4:66 System.out.printf("Borcunuz: ");67 System.out.printf(68 SqlQuery.StringGetSQL("SELECT debt FROM clients WHERE id=" + currentID, "debt"));69 System.out.printf(" lutfen odemek istediginiz tutari giriniz.. ");70 amount = scd.nextDouble();71 if (Transactions.payOffDebt(currentID, amount))72 System.out.println("borcunuz basariyla odendi");73 else System.out.println("borc odenemedi");74 break;75 default:76 System.out.println("Eksik ya da hatali bir tuslama yaptiniz lutfen tekrar deneyiniz..");77 }7879 } while (checker != 0);80 }81}
Consider adding a doc comment for isCardValid
11 private static String cardsNum;
12 private static int attempts = 0;
13
14 private static boolean isCardValid(String cardNum) throws SQLException {15 ResultSet checkRs = SqlQuery.getResult(("SELECT Name FROM clients WHERE CardNum=" + cardNum));1617 if (checkRs == null) {18 System.out.println("hatali bir kart numarasi girdiniz lutfen tekrar deneyiniz.. ");19 return false;20 }2122 return true;23 }24
25 private static boolean isPinTrue(String cardsPin, String cardPin) {
26
Consider adding a doc comment for isPinTrue
22 return true;
23 }
24
25 private static boolean isPinTrue(String cardsPin, String cardPin) {2627 if (attempts > 3) {28 // todo: her seferinde yeni obje olusturuldugundan bunun yapılması o kadar da kolay degil29 // attemps degişkeni daima sıfır oluyor30 SqlQuery.UpdateData("UPDATE clients SET PIN='BLOCKED' WHERE CardNum=" + cardNum);3132 return false;3334 } else if (cardPin.length() == 4) {35 try {36 int x = Integer.parseInt(cardPin);37 ResultSet rs = SqlQuery.getResult(("SELECT PIN FROM clients WHERE CardNum=" + cardNum));3839 // burada varolan uyarı anlamsız, not null veri döndürüyor40 while (rs.next()) cardsPin = rs.getString("PIN");4142 if (pin.equals(cardsPin)) {43 System.out.println("Sifre Dogru");44 return true;45 } else {46 System.out.println("sifreniz hatali, lutfen tekrar deneyiniz..");47 }4849 } catch (Exception e) {50 attempts++;51 System.out.println("Pin rakamlardan olusmalidir. ");52 return false;53 }54 } else {55 attempts++;56 System.out.println("Lutfen Dort Haneli Pininizi Giriniz: ");57 return false;58 }59 return false;60 }61
62 public static boolean login() throws SQLException {
63 if (isCardValid(cardNum) && isPinTrue(cardNum, pin)) {
Consider adding a doc comment for login
59 return false;
60 }
61
62 public static boolean login() throws SQLException {63 if (isCardValid(cardNum) && isPinTrue(cardNum, pin)) {64 System.out.println("Hosgeldiniz. Basariyla giris yaptiniz..");65 // todo: sql tabanindan kullanicinin adi cekilip ekrana basilmali66 return true;67 }68 return false;69 }70}
Description
This method does not have any documentation.
Consider adding a documentation comment to explain its use.
While it may seem like the usage of a method is perfectly obvious, any consumers of your API may not be able to pick up on certain details.
Bad Practice
This method appears to return an address string based on its name and the return type, but it is hard to say anything further about it. We neither know if the address will be formatted in a special way nor are we given any useful information regarding the returned value.
String getAddress() {
// ...
}
Recommended
Provide a detailed description of what the method does.
/**
* Returns the address in 3 line format,
* with street address on line 1, area/city on line 2
* and state and country as well as postal code on line 3.
*/
String getAddress() {
// ...
}