removeplayer USER1分割功能問題?
代碼工作正常與控制檯上面的輸入。它爲我成功移除了玩家'user1'。但是,如果用戶沒有提及任何用戶名,則會提示刪除數組列表中的所有玩家。
removeplayer(緊接着輸入),下面的代碼失敗,因爲str [1]沒有在這裏。 但是我希望str [1]好像這個值爲null,這有助於我移除所有玩家。
param="0";
System.out.print(">");
//type_op= in.next();
String str=in.nextLine();
String[] str1=str.split(" ");
type_op = str1[0];
param = str1[1];
String[] param_split = param.split(",");
if(type_op.equals("removeplayer") && param.equals(null))
removeAllPlayers();
else if(type_op.equals("removeplayer"))
removeplayer();
我已經嘗試使用下一個()爲好,但在這種情況下,問題變得如在這種情況下只有removeAllPlayers()的工作更加複雜。
我不確定問題是什麼......當用戶只在控制檯中寫入'removeplayer'時會發生錯誤嗎?如果是這樣,你必須檢查'str1.length'是否爲1.如果是,則分配'param = null'。如果不是,則分配'param = str1 [1]'。 –
是的,現在通過檢查str1的長度爲1來工作。乾杯! – MrCoder
我得到了這個工作。然而,這些代碼[System.out.print(「>」); String str = in.nextLine();]在任何操作完成後會運行一次額外的時間。這發生在我的三個操作中。我調試並檢查了什麼是問題,但我不知道什麼是錯的。有趣的是,上述兩條線爲一些操作運行了一次額外的時間。編譯器進入in.nextLine(),不會要求我輸入內容,然後在下一次迭代中重新運行,以求輸入。其中一個迭代發生在沒有輸入任何值的情況下。 – MrCoder