永发信息网

java报错需要.class

答案:6  悬赏:50  手机版
解决时间 2021-02-20 14:30
  • 提问者网友:喧嚣尘世
  • 2021-02-19 14:36
public class bbc
{
public static void paixu(int [] a)
{
int i = a.length;

for(int j = i; j > 0; j--)
{
for(int k = j - 1; k >= 0; k --)
{
if(a[k+1] < a [k])
{
a[k] = a[k+1] + a[k];
a[k+1] = a[k] - a[k+1];
a[k] = a[k] - a[k+1];
}
}
}

}
public static void main(String[] args)
{
int[] a = {15 , 8 , 3 , 5 , 11 , 17};

int[] b = paixu(a[]);
for(int h = 0; h < b.length; h++)
{
System.out.println(b[h]);
}
}
}
最佳答案
  • 五星知识达人网友:鸠书
  • 2021-02-19 15:07
二楼才扯 你的
public static void paixu(int [] a) 传入的是一个数组 你下面传入的是一个数
int[] b = paixu(a[]); 首先在编译上不通过。
按照上面的改了之后你的 k 取值有问题 你的方法里面上面的k是取不到 i 即数组长度的 你虽然让k初始值等于 i-1 当时后面的你又写 k+1 即 a[ i ] 是没有的

完整代码如下
public class bbc {
public static int[] paixu(int[] a) {
int i = a.length;
for (int j = i; j > 0; j--) {
for (int k = j - 1; k > 0; k--) {
if (a[k-1] >a[k]) {
a[k] = a[k - 1] + a[k];
a[k - 1] = a[k] - a[k - 1];
a[k] = a[k] - a[k - 1];
}
}
}
return a;
}

public static void main(String[] args) {
int[] a = {15 , 8 , 3 , 5 , 11 , 17};
int[] b = paixu(a);
for(int h = 0; h < b.length; h++)
{
System.out.println(b[h]);
}
}
}

经测试完全符合你的排序 ,希望对你有帮助
全部回答
  • 1楼网友:鱼芗
  • 2021-02-19 18:53
小孩可否不上学
  • 2楼网友:归鹤鸣
  • 2021-02-19 17:52
paixu()的返回值为void那就不应该用int[] b来接受返回值。
  • 3楼网友:你可爱的野爹
  • 2021-02-19 17:43
重新导入(或高级)JDK 别听一楼胡扯,你对着呢。是类加载器找不到字节码文件.class 这样的问题一般是JDK丢失了,重新配置环境变量就ok了
  • 4楼网友:廢物販賣機
  • 2021-02-19 16:19
语法有问题 将int[] b = paixu(a); 改为 paixu(a); int[] b = a; 另外排序的逻辑上有些错误,你可以再调试下。
  • 5楼网友:青灯有味
  • 2021-02-19 16:06
objectout.writeobject(stu1[]) 如果你想输出数组中所有对象,则直接使用stu1即可,如果只是想输出一个对象,则需要在stu1[]的括号内加上对象的索引 而且students stu2[]=objectin.readobject()这里需要进行强制转换一下,如下: students stu2[]=(students[])objectin.readobject();
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯