我正在尝试编写一个程序,该程序将使用插入,删除和排序等命令来获取文本文件,并让它们从链表中插入或删除节点。到目前为止,我已经能够对字符串进行标记并将其写出来;但我也想使用if语句,文本行是说插入还是删除。这就是我到目前为止所拥有的。谢谢你的帮助。
(lane.txt)
insert 1
insert 7
insert 5
delete 7
insert 2
insert 4
delete 5
代码:
import java.io. ; import java.util。;
类TokenTest {
public static void main (String[] args) {
TokenTest tt = new TokenTest();
tt.dbTest();
}
void dbTest() {
DataInputStream dis = null;
String dbRecord = null;
try {
File f = new File("lane.txt");
FileInputStream fis = new FileInputStream(f);
BufferedInputStream bis = new BufferedInputStream(fis);
dis = new DataInputStream(bis);
// read the first record of the database
while ( (dbRecord = dis.readLine()) != null) {
StringTokenizer st = new StringTokenizer(dbRecord, " ");
String action = st.nextToken();
String key = st.nextToken();
System.out.println("Action: " + action);
if(action == "insert")
{
System.out.println("holla");
}
System.out.println("Key Value: " + key);
if(action == "delete")
{
System.out.println("holla");
}
System.out.println(" ");
}
} catch (IOException e) {
// catch io errors from FileInputStream or readLine()
System.out.println("Uh oh, got an IOException error: " + e.getMessage());
} finally {
// if the file opened okay, make sure we close it
if (dis != null) {
try {
dis.close();
} catch (IOException ioe) {
System.out.println("IOException error trying to close the file: ");
}
} // end if
} // end finally
} // end dbTest
} //结束课
输出:
动作:插入 关键价值:1
动作:插入 关键价值:7
动作:插入 关键价值:5
动作:删除 关键价值:7
动作:插入 关键价值:2
动作:插入 关键价值:4
动作:删除 关键价值:5
答案 0 :(得分:3)
应使用equals
比较字符串:
if (action.equals("insert")) { // etc.
答案 1 :(得分:0)
现在使用java 7,我相信你可以在switch case中使用字符串。
我猜java 7现在允许使用以下语法:
String s = ....;
switch(s)
{
case "insert":
break;
default:
break;
}