Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如果变量不存在,如何绕过加载变量值_Java_Javafx 8 - Fatal编程技术网

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按索引访问它。除了这些代码风格的注释之外:您遇到的困难是什么,您尝试了什么?,