首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

求教关于List的size有关问题

2012-01-12 
求教关于List的size问题我想要实现用户在jcheckbox中多选运算符,然后在所选的运算符中随机提出一个运算符。

求教关于List的size问题
我想要实现用户在jcheckbox中多选运算符,然后在所选的运算符中随机提出一个运算符。可是假如我循环十次,输出的运算符都是每次选择的运算符中的第一个,没有出现随机输出的情况。所以我用System.out.println(getOpera.size());来查看list的大小,发现,不管我选择了几个运算符,getOpera.size()永远是1。这我就有点蒙了。所以麻烦各位帮帮我,谢谢。
=========================================================

Java code
public List getOper(){        int k=0;        if(getOpera.size()==0){            if(cbAdd.isSelected()){                getOpera.add(k,'+');                k++;            }else if(cbSub.isSelected()){                getOpera.add(k,'-');                k++;            }else if(cbMul.isSelected()){                getOpera.add(k,'*');                k++;            }else if(cbDiv.isSelected()){                getOpera.add(k,'/');                k++;            }        }        return getOpera;    }        public char choiceOper(){        getOper();        Random ranOp = new Random();        int i=ranOp.nextInt(getOpera.size());        System.out.println(getOpera.size());        return (Character) getOpera.get(i);    }


[解决办法]
探讨
if(getOpera.size()==0){

[解决办法]
Java code
public List getOper(){        int k=0;        getOpera.clear(); //每次都清空getOpera,然后重新追加用户选择的符号        //if(getOpera.size()==0){ //这个if不要,否则如果getOpera有元素以后就不会再追加了            if(cbAdd.isSelected()){                getOpera.add(k,'+');                k++;            }             if(cbSub.isSelected()){ //不要用else if,否则满足if就不会进入else if,就不能有多个值了                getOpera.add(k,'-');                k++;            }            if(cbMul.isSelected()){ //这里一样                getOpera.add(k,'*');                k++;            }            if(cbDiv.isSelected()){ //这里一样                getOpera.add(k,'/');                k++;            }        //}        return getOpera;    }        public char choiceOper(){        getOper();        Random ranOp = new Random();        int i=ranOp.nextInt(getOpera.size()); //这样这里才有意义        System.out.println(getOpera.size());        return (Character) getOpera.get(i);    } 

热点排行