当前位置: 代码迷 >> Java相关 >> 高分求解――怎么输出每个数组数都有偶数个
  详细解决方案

高分求解――怎么输出每个数组数都有偶数个

热度:139   发布时间:2009-11-05 22:13:08.0
高分求解――怎么输出每个数组数都有偶数个
我的程序如下,但没显示
我想输出每个数组元素出现偶数次
并求更好的方法


package Try;

public class try1 {
    private String[][] st;
    public try1() {
        st = new String[6][6];
        String[] st1 = new String[] { "我", "你", "他", "她", "她", "们" };
        for (int i = 0; i < 6; i++)
            for (int j = 0; j < 6; j++) {
                int f = 1;// 下面while函数的判断词
                java.util.Random ran = new java.util.Random();
                int index = ran.nextInt(6);
                st[i][j] = st1[index];
                int k = (ran.nextInt(3)) + 3;
                int h = ran.nextInt(6);
                while (f == 1) {
                    if ("".equals((st[k][h]))) {
                        st[k][h] = st[i][j];
                        break;
                        

                    } else {
                        k = (ran.nextInt(3)) + 3;
                        h = ran.nextInt(6);

                    }
                }
            }
        
    }
    public void print(){
        for(int i=0;i<6;i++){
        for(int j=0;j<6;j++)
            System.out.print(st[i][j]);
        System.out.println();
        
        }
            
    }
    public static void main(String args[]){
        try1 t=new try1();
        t.print();
    }
}
搜索更多相关的解决方案: 输出  求解  高分  

----------------解决方案--------------------------------------------------------
运行了程序,while(f==1)//进入死循环了

package Try;

public class try1 {
    private String[][] st;
    public try1() {
        st = new String[6][6];
        String[] st1 = new String[] { "我", "你", "他", "她", "她", "们" };
        for (int i = 0; i < 6; i++)
            for (int j = 0; j < 6; j++) {
                int f = 1;// 下面while函数的判断词
                java.util.Random ran = new java.util.Random();
                int index = ran.nextInt(6);
                st[i][j] = st1[index];
                int k = (ran.nextInt(3)) + 3;
                int h = ran.nextInt(6);
                while (f == 1) {
                    if ("".equals((st[k][h]))) {
                        st[k][h] = st[i][j];
                        break;
                        

                    } else {
                        k = (ran.nextInt(3)) + 3;
                        h = ran.nextInt(6);
                        break;//这里应加一个break,跳出while循环
                    }
                }
            }
        
    }
    public void print(){
        for(int i=0;i<6;i++){
        for(int j=0;j<6;j++)
            System.out.print(st[i][j]);
        System.out.println();
        
        }
            
    }
    public static void main(String args[]){
        try1 t=new try1();
        t.print();
    }
}

----------------解决方案--------------------------------------------------------
谢了
----------------解决方案--------------------------------------------------------
  相关解决方案