Java 如果变量不存在,如何绕过加载变量值
我有密码:Java 如果变量不存在,如何绕过加载变量值,java,javafx-8,Java,Javafx 8,我有密码: firstOpCardID = usCardOponent.get(1).getId() + ""; secondOpCardID = usCardOponent.get(2).getId() + ""; thirdOpCardID = usCardOponent.get(3).getId() + ""; USCARDOPONT是一个LinkedHashMap,并非每次都包含所有三个元素。 例如: 在游戏中有两张牌(最多3张)-第一张和第三张或第二张和第三张等。我如何读取只属于
firstOpCardID = usCardOponent.get(1).getId() + "";
secondOpCardID = usCardOponent.get(2).getId() + "";
thirdOpCardID = usCardOponent.get(3).getId() + "";
USCARDOPONT是一个LinkedHashMap,并非每次都包含所有三个元素。
例如:
在游戏中有两张牌(最多3张)-第一张和第三张或第二张和第三张等。我如何读取只属于这两张牌的牌id
以下是我提出的方法:
public void saveInfoToXML(){
String playerNick = userLbl.getText();
String playerHP = plyHP.getText();
String firstPlyCardID = null;
String secondPlyCardID = null;
String thirdPlyCardID = null;
String firstOpCardID = null;
String secondOpCardID = null;
String thirdOpCardID = null;
String opponentNick = opNick.getText();
String opponentHP = opHP.getText();
firstOpCardID = usCardOponent.get(1).getId() + "";
secondOpCardID = usCardOponent.get(2).getId() + "";
thirdOpCardID = usCardOponent.get(3).getId() + "";
//if(usCardPlayer.size() == 3){
firstPlyCardID = usCardPlayer.get(1).getId() + "";
secondPlyCardID = usCardPlayer.get(2).getId() + "";
thirdPlyCardID = usCardPlayer.get(3).getId() + "";
try {
savePoint.SaveStatus(playerNick, playerHP, firstPlyCardID, secondPlyCardID, thirdPlyCardID, opponentNick, opponentHP, firstOpCardID, secondOpCardID, thirdOpCardID);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//}
}
若任何ID卡不存在,控制台将显示错误。
如果有人知道如何解决这个问题,我将非常感激。错误是什么?您可以使用
usCardOponent.size()
检查大小,然后根据其值的数量决定结果。为什么要使用任何变量?为什么不是数组?还是一份清单?或者将值保留在原来的位置?请思考该索引处的元素不可用的原因,并确保该元素可用或实现适当的大小写处理。索引应从0开始,您应使用Arraylist按索引访问它。除了这些代码风格的注释之外:您遇到的困难是什么,您尝试了什么?,