java程序改错

packageshiyan3;importjava.io.IOException;publicclassSortArray{publicstaticvoidmain(St... package shiyan3;

import java.io.IOException;

public class SortArray {

public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
int m, n,k;
int aa[]=new int [6];
int bb[]=new int [6];
int cc[]=new int [12];
for (int i=0;i<=6;i++)
{
m=(int) (100*Math.random());
aa[i]=m;
n=(int) (100*Math.random());
bb[i]=n;
System.out.println(aa[i]+" "+bb[i]);
}
for (int i=0;i<6;i++)
{
for(int j=i;j<6;j++)
{
if(aa[i]>aa[j])
{
int t=aa[i];aa[i]=aa[j];aa[j]=t;
}
if(bb[i]>bb[j])
{
int t=bb[i];bb[i]=bb[j];bb[j]=t;
}
}
}

m=0;
n=0;
k=0;
while (m==6 && n==6)
{
if(aa[m]<=bb[n])
{
cc[k]=aa[m];
m++;
}
else
{
cc[k]=bb[n];
n++;
}
k++;
}
while (m==6) {
cc[k]=aa[m];m++;k++;
}
while (n==6)
{
cc[k]=bb[n];n++;k++;
}
for (int i=0;i<12;i++)
{
System.out.print(cc[i]+" ");
}

}

}

错在哪里
展开
 我来答
samismiling
2019-03-06 · 知道合伙人软件行家
samismiling
知道合伙人软件行家
采纳数:1340 获赞数:5605

向TA提问 私信TA
展开全部

执行如下代码后报错信息是:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 6 out of bounds for length 6

at SortArray.main(SortArray.java:21)

package shiyan3;

import java.io.IOException;


public class SortArray {
    public static void main(String[] args) throws IOException {
        // TODO Auto-generated method stub
        int m;

        // TODO Auto-generated method stub
        int n;

        // TODO Auto-generated method stub
        int k;
        int[] aa = new int[6];
        int[] bb = new int[6];
        int[] cc = new int[12];

        for (int i = 0; i <= 6; i++) {
            m = (int) (100 * Math.random());
            aa[i] = m;
            n = (int) (100 * Math.random());
            bb[i] = n;
            System.out.println(aa[i] + " " + bb[i]);
        }

        for (int i = 0; i < 6; i++) {
            for (int j = i; j < 6; j++) {
                if (aa[i] > aa[j]) {
                    int t = aa[i];
                    aa[i] = aa[j];
                    aa[j] = t;
                }

                if (bb[i] > bb[j]) {
                    int t = bb[i];
                    bb[i] = bb[j];
                    bb[j] = t;
                }
            }
        }

        m = 0;
        n = 0;
        k = 0;

        while ((m == 6) && (n == 6)) {
            if (aa[m] <= bb[n]) {
                cc[k] = aa[m];
                m++;
            } else {
                cc[k] = bb[n];
                n++;
            }

            k++;
        }

        while (m == 6) {
            cc[k] = aa[m];
            m++;
            k++;
        }

        while (n == 6) {
            cc[k] = bb[n];
            n++;
            k++;
        }

        for (int i = 0; i < 12; i++) {
            System.out.print(cc[i] + " ");
        }
    }
}

第21行是从0到6,也就是7次循环,应该把<=6改为<6。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式