コードの一部分です。
最後のif 文がなぜtrue判定にならないのかを教えていただきたいです。
list.get(count2 + 1)とKENSYU[2][0]を直前に出力して、同じ値であるのにも関わらず、equalsで同じ値と認識されません。
よろしくお願いします。
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class ren56 {
public static void main(String[] args) throws Exception { String KENSYU[][] = new String[4][5]; KENSYU[0][0] = "NO"; KENSYU[0][1] = "1"; KENSYU[0][2] = "2"; KENSYU[0][3] = "3"; KENSYU[0][4] = "4"; KENSYU[1][0] = "LESSON"; KENSYU[1][1] = "数学"; KENSYU[1][2] = "国語"; KENSYU[1][3] = "理科"; KENSYU[1][4] = "国語"; KENSYU[2][0] = "TERM "; KENSYU[2][1] = "前期"; KENSYU[2][2] = "後期"; KENSYU[2][3] = "前期"; KENSYU[2][4] = "後期"; KENSYU[3][0] = "RESULT"; KENSYU[3][1] = "不合格"; KENSYU[3][2] = "不合格"; KENSYU[3][3] = "合格"; KENSYU[3][4] = "不合格"; Scanner sc = new Scanner(System.in); System.out.println("「SQL を入力して下さい。」"); //String A = sc.nextLine(); String B = "SELECT no lesson FROM KENSHU where term = ” 前期 ” and result = ” 合格 ”"; //and no = ” 34 ” and no = ” 22 ”"; //String[] Array = B.split("[ ,]"); String[] Array1 = B.split("[ ,]"); int count1 = 0; int count2 = 0; int count3 = 0; List<String> list = new ArrayList<String>(); for (int i = 0; i < Array1.length; i++) { list.add(Array1[i].toUpperCase()); Array1[i] = Array1[i].toUpperCase(); } //whereの数を数える for (int i = 0; i < list.size(); i++) { if (list.get(i).equals("AND")) { count1++; } } count3 = list.indexOf("FROM") - 1; count2 = list.indexOf("WHERE"); System.out.println(list.get(count2 + 1)); System.out.println(KENSYU[2][0]) ; String aa = list.get(count2 + 1); String bb = KENSYU[2][0]; if(aa.equals(bb)) { System.out.println("成功"); }
0 コメント