【发布时间】:2015-05-22 12:27:56
【问题描述】:
我正在解析具有以下文本和相同格式的文件,
姓名:_____ 性别:____
年龄:_____ 年级:______
解析时,我想先看看是“性别:f”还是“性别:m”,如果例如“性别:f”,那么我将创建一个新的女孩对象并设置她的姓名、年龄和年级.否则,如果是男孩,我会创建一个新的男孩对象并设置他的姓名、年龄和年级。
我的代码目前仅适用于一种性别。我不确定如何实现它来搜索其他性别。
while ((line = br.readLine()) != null) {
line = line.trim();
st = new StringTokenizer(line);
if (line.endsWith("gender: f")) {
f = new female();
st.nextToken();
String name = st.nextToken();
f.setName(name);
} else if (line.startsWith("age:")) {
st.nextToken();
String age= st.nextToken();
f.setAge(age);
line = br.readLine();
}
}
请帮忙!谢谢。
【问题讨论】:
-
我认为你可能想多了,因为你已经有了大致的想法。只需将另一个
else if添加到块中即可。else if (line.endsWith("gender: m")) { ... }顺便说一句,既然你在做键/值之类的事情,你应该研究一下 JSON -
你是对的!谢谢!
标签: java while-loop bufferedreader readline stringtokenizer