当前位置: 代码迷 >> J2SE >> 请问一个 Java String 的有关问题.
  详细解决方案

请问一个 Java String 的有关问题.

热度:146   发布时间:2016-04-24 12:42:35.0
请教一个 Java String 的问题..
大意是判断一个字符串,通过split分隔后,是否包含"?"子串, 具体见下面红色部分..

Java code
    public void Handle() {        try {            FileReader fs = new FileReader("adult.txt");            BufferedReader br = new BufferedReader(fs);            FileWriter fw = new FileWriter("out.txt");            BufferedWriter bw = new BufferedWriter(fw);            String strLine = null;            String[] temp;            strLine = br.readLine();            int m = 0;            boolean test=false;            String strTemp = null;                        while (strLine != null) {                temp = strLine.split(",");          [color=#FF0000]//将文件adult.txt中的每一行以逗号分隔开, 返回字符串数组temp,[/color]                String[] temp1 = new String[8];     [color=#FF0000] //用于取temp字符串数组中特定的字段..[/color]                                temp1[0] =temp[0].substring(0, temp[0].length());                temp1[1] =temp[1].substring(0, temp[1].length());                temp1[2] =temp[3].substring(0, temp[3].length());                temp1[3] =temp[5].substring(0, temp[5].length());                temp1[4] =temp[6].substring(0, temp[6].length());                temp1[5] =temp[8].substring(0, temp[8].length());                temp1[6] =temp[9].substring(0, temp[9].length());                temp1[7] =temp[13].substring(0, temp[13].length());                                for(int i=0;i<8;i++)                    if(temp1[i].equals("?"))       [color=#FF0000]//判断所取字段中是否有"?"这样的字符串,原adult数据中有的行是有?号存在的,为什么这里检测不出来?[/color]                        {                          test=true;                          break;                        }          if(test!=true)          {                strTemp = temp1[0] + " " + temp1[1] + " " + temp1[2] + " "                        + temp1[3] + " " + temp1[4] + " " + temp1[5] + " "                         + temp1[6] + " " + temp1[7] + " " +"\n";                   for (int i = 0; i < 8; i++) {                         System.out.print(temp1[i] + " ");                      }                    System.out.println();                                        m++;                    bw.write(strTemp);                    strLine = br.readLine();          }          else          {              strLine = br.readLine();              continue;          }            }            System.out.println("i= " + m + " ");            bw.close();            fw.close();            br.close();            fs.close();        } catch (IOException io) {        }    }


------解决方案--------------------
应该用 temp1[i].contains("?") 判断 temp1[i]中是否含有 ?
你之前的判断是判断 temp1[i] 字符串是否是 ?
  相关解决方案