Witam! Mógłby ktoś mnie nakierować, w jaki sposób mógłbym uprościć kod umieszczony poniżej?
import java.sql.*;
import java.util.Random;
import java.util.Scanner;
import static java.lang.System.exit;
public class Connector {
PreparedStatement stmt;
Connection con;
ResultSet rs;
String correct,answer;
int number_questions;
Scanner sc = new Scanner(System.in);
Random r = new Random();
public void Connect() {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/quiz?useTimezone=true&serverTimezone=UTC", "root", "");
} catch (Exception e) {
System.out.println("Eror with connection");
}
}
public void Ask(String q) {
try {
number_questions = 3;
stmt = con.prepareStatement(q);
stmt.setInt(1,r.nextInt(number_questions)+1);
rs = stmt.executeQuery();
while (rs.next()) {
System.out.println(rs.getString(2));
System.out.println("a)" +rs.getString(3));
System.out.println("b)" +rs.getString(4));
System.out.println("c)" +rs.getString(5));
System.out.println("d)" +rs.getString(6));
correct = rs.getString(7);
}
}catch(Exception e){
System.out.println("Error with loading from the database");
}
}
public void Check()
{
try{
answer = sc.nextLine();
if(answer.equals(correct))
{
System.out.println("Correct Answer!You go further!");
Wait(3000);
}
else
{
System.out.println("Incorrect answer!Unfortunately, you're out!");
Wait(3000);
exit(0);
}
}catch (Exception e){System.out.println("Eror wtih checking the answer ");}
}
public void Start() {
System.out.println("Welcome in game for a million dollars!");
Wait(3000);
System.out.println("You will hear 10 questions in a moment, choose only one answer for each!");
Wait(3000);
Connect();
Ask("select * from questions_1t where id_question = ?");
Check();
Ask("select * from questions_5t where id_question = ?");
Check();
Ask("select * from questions_10t where id_question = ?");
Check();
Ask("select * from questions_20t where id_question = ?");
Check();
Ask("select * from questions_40t where id_question = ?");
Check();
Ask("select * from questions_75t where id_question = ?");
Check();
Ask("select * from questions_100t where id_question = ?");
Check();
Ask("select * from questions_250t where id_question = ?");
Check();
Ask("select * from questions_500t where id_question = ?");
Check();
Ask("select * from questions_1000t where id_question = ?");
Check();
}
public static void Wait (int mills){
try {
Thread.sleep(mills);
}catch (Exception e){System.out.println("Error with method Wait!");}
}
}
Z góry dziękuję za odpowiedź.