输出打印布尔值而不是字符串

时间:2017-10-09 14:17:20

标签: java

我目前正在研究一种方法,该方法将包含用户输入的字符串的所有主题代码输出到列表中。例如,我的ArrayList有4本书,有两个字段:name,subjectCode。目前,该方法的输出返回// True,False,False,True等。如何配置它,以便显示所有True值的subjectCode,例如。当输入s = COM

时,COMM100,COMM200
private static void findSubjectCodes(ArrayList<Subject2> list, String s) {
    System.out.println("Subject codes found:");

    for (int i = 0; i < list.size(); i++)
    System.out.println(list.get(i).subjectCode.contains(s) + "\n");

        // True, False, True, etc

}

2 个答案:

答案 0 :(得分:3)

contains条件放入条件分支。 e.g。

 for (int i = 0; i < list.size(); i++) {
     String subjectCode = list.get(i);
     if (subjectCode.contains(s) {
             System.out.prinltn(subjectCode + "\n");
         }
     }

答案 1 :(得分:0)

返回类型.contains(*)是布尔值,这就是为什么你得到布尔值作为输出。

基本上检查所述属性是否包含接收到的文本,因此list.get(i).subjectCode.contains(s)正在打印一个布尔值。

要打印主题代码,您需要执行以下操作:

    for (int i = 0; i < list.size(); i++){
       if(list.get(i).subjectCode.contains(s))
       {
          System.out.println("Subject is found:" +list.get(i).subjectCode);
       }
       else{
          System.out.println("Subject not found.");
       }
    }

以下是官方文档:https://docs.oracle.com/javase/7/docs/api/java/lang/String.html