java - 当用户输入数据库中存在的国家/地区名称并且最后一个国家/地区的最后一个字母等于下一个国家/地区的第一个字母时,我想打印成功,

标签 java sql

package jdbc;

import java.sql.*;
import java.util.Scanner;  
class driver{  
public static void main(String args[]){  

while(true)
{
    try{  
        Class.forName("com.mysql.jdbc.Driver");  
        Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/countries","root","");  
        Statement stmt=con.createStatement();  
        ResultSet rs=stmt.executeQuery("select * from countries"); 

        int count = 1;
        Scanner scan = new Scanner(System.in);
System.out.println("What county");

String info = scan.next();

{

while(rs.next() )
{
    if(rs.getString("name").charAt(rs.getString("name").length() -1) == info.charAt(0) && rs.getString("name").equalsIgnoreCase((info)))
    {

System.out.println("success" + rs.getString("name"));
}




}

}

}
catch(Exception e){ System.out.println(e);
}  

}
}
}

上面的代码连接到包含所有国家/地区名称的数据库。当最后给出的国家/地区的最后一个字母等于下一轮给出的国家/地区的第一个字母时,我的游戏将打印成功。例如,我输入加拿大,下一个输入是安哥拉等...

最佳答案

您正在比较“最后一个国家/地区”的最后一个字符的数据,如果输入数据是国家/地区,则使用结果集中的同一行。

而且,我不会这样做。您将从数据库中获取整个表到应用程序运行的位置,只是为了将其与用户输入进行一一比较。您应该使用 SQL 来完成此操作。

另外,“最后一个国家”的定义是什么?在您的代码中,最后一个国家/地区是表中所有可用的国家/地区。如果这是某种单词联想游戏,您需要存储用户最后输入的国家/地区。

关于java - 当用户输入数据库中存在的国家/地区名称并且最后一个国家/地区的最后一个字母等于下一个国家/地区的第一个字母时,我想打印成功,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40294987/

相关文章:

mysql - Laravel 5.8/Mysql : Cannot delete or update a parent row a foreign key constraint fails

sql - SQL 查询的特殊排序

mysql select query - 将一个字段与另一个字段匹配

java - SecurityContextHolder.getContext()上的身份验证为null;

java - 在java文件之间使用静态方法

java - 如何将 JSON 字段名称映射到 Java 对象字段名称

php - 如何设计布局可能随时间变化的通用数据库?

sql - 从两个表中选择并使用侧面 View 配置单元

java - Mac 上 Eclipse 中存储 Java 项目默认运行配置的文件在哪里?

java - 如何使用 Java 从 USB 麦克风录制声音