我试图随机随机播放从数据库中检索到的输入。到目前为止,我能够将检索到的值添加到列表中。因为我想要洗牌他们,我试图将这个词分成单个字母。就像[' l',' i'' s'例如,' t']。但是拆分功能不起作用。 我哪里错了?
<%@page contentType="text/html" pageEncoding="UTF-8" %>
<%@page import="java.sql.*"%>
<%@page import="java.util.*"%>
<%@page import="java.lang.*"%>
<%
String vlemail=request.getParameter("lemail");
try
{
String str="jdbc:mysql://localhost:3306/user";
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con=null;
con=DriverManager.getConnection(str,"root","");
Statement st=con.createStatement();
ResultSet rs =st.executeQuery("select pwd from utable where email='"+vlemail+"'");
ArrayList<String> list=new ArrayList();
while(rs.next())
{
list.add(rs.getString("pwd"));
out.println(list);
List splitlist=list.split("(?!^)");
Collections.shuffle(splitlist);
out.println(splitlist);
}
out.println("Retrieved" );
}
catch(Exception e)
{
out.println(e);
out.println("Not retrieved");
}
%>
答案 0 :(得分:0)
为什么使用list.split("(?!^)");
?拆分函数可用于拆分字符串,而您尝试在ArrayList上使用它。
如果你想使用split功能会更好。更好的是将所有结果附加到单个字符串中,发布该分割,然后根据您的要求将其添加到Arraylist。然后,做洗牌。