添加if语句以进行标记化

时间:2012-06-02 17:15:54

标签: java if-statement tokenize stringtokenizer

我正在尝试编写一个程序,该程序将使用插入,删除和排序等命令来获取文本文件,并让它们从链表中插入或删除节点。到目前为止,我已经能够对字符串进行标记并将其写出来;但我也想使用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

2 个答案:

答案 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;
}