###前提・実現したいこと
EclipseにてJavaServletのクイズアプリを作成中。
DBに登録されている答えと、画面に打ち込んだ答えが同じかを判定するプログラム
###発生している問題・エラーメッセージ
別々の変数に含まれている同じ値同士を「equals」した場合に
trueにならない。
###該当のソースコード
//DBに登録されているquizのanserを取得
ps2=
db.prepareStatement("select anser from TypingResult where quiz = ?");
param = this.selectQuiz(randomNum);
ps2.setString(1,param);
rs=ps2.executeQuery();
rs.next();
//DBの実行結果を変数に格納
String ans = rs.getString("anser");
//画面(jsp)のtextフォームに入力したanserを取得
String ans2 = request.getParameter("quizanser");
//デバッグのためコンソール画面に表示
System.out.println("debug");
//出力結果はB
System.out.println(ans);
//出力結果はB
System.out.println(ans2);
//出力結果はfalse(ここがtrueになってほしい)
System.out.println(ans.equals(ans2));
if(ans.equals(ans2)){
anserCheck2 = true;
rs.close();
return anserCheck2;
}else {
anserCheck2 = false;
rs.close();
return anserCheck2;
}
###試したこと
デバッグ文を追加して調査をしてみましたが変数には同じ値が含まれているように見えています。
念のため「==」による比較もしてみましたがそちらは問題ありませんでした。
###補足情報(言語/FW/ツール等のバージョンなど)
Eclipse4.7
Tomcat8
Java8
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/28 08:27