【发布时间】:2016-09-01 11:26:38
【问题描述】:
所以我将 Student(它们是对象)添加到我的 arrayList 中,并且在代码的开头我会让用户添加尽可能多的学生 + 学生编号,直到他们输入空白。一旦他们输入空白,我的程序就会打印出所有学生和他们的学号。一旦它打印出学生和他们的号码,用户就会被要求提供一个搜索词。然后程序将打印出所有说出搜索词的学生。除了将搜索词与我的 ArrayList 中的字符串进行比较之外,我的代码中的所有内容都有效
这是我目前想出的:
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
ArrayList<Student> students = new ArrayList<Student>();
System.out.print("name: ");
String name = reader.nextLine();
while (!name.equals("")) {
System.out.print("studentnumber: ");
String studentNumber = reader.nextLine();
students.add(new Student(name, studentNumber));
System.out.print("name: ");
name = reader.nextLine();
}
for (Student prs : students ) {
System.out.println(prs);
}
System.out.println("Give search term: ");
String searchTerm = reader.nextLine();
System.out.println("Result: ");
for (Student prs : students) {
if (prs.contains(searchTerm)) {
System.out.println(prs);
}
}
}
}
所以我的问题是如何修复代码行
for (Student prs : students) {
if (prs.contains(searchTerm)) {
System.out.println(prs);
}
}
让它工作。
感谢您的帮助。
【问题讨论】:
-
这段代码应该打印什么,它打印的是什么?
-
在
Student类中公开一个方法以返回您必须搜索的字段。并在上面使用contains()
标签: java arrays string substring