黑马程序员技术交流社区
标题:
冒泡排序的问题
[打印本页]
作者:
刘一阳
时间:
2014-6-14 17:50
标题:
冒泡排序的问题
class demop
{
public static void maopao(int[] a)
{
for(int x=0;x<a.length-1;x++)
{
for(int y=0;y<a.length-x-1;y++)
{
if(a[y]>a[y+1])
int temp=a[y];
a[y]=a[y+1];
a[y+1]=temp;
}
}
}
public static void print(int[] a)
{
for(int x=0;x<a.length;x++)
{
if(x!=a.length-1)
System.out.print(a[x]+",");
else
System.out.print(a[x]);
}
}
public static void main(String[] args)
{
maopao(a);
print(a);
}
}
hanshu.java:279: 错误: 需要 '.class'
int temp=a[y];
^
hanshu.java:279: 错误: 不是语句
int temp=a[y];
^
hanshu.java:279: 错误: 非法的表达式开始
int temp=a[y];
^
hanshu.java:279: 错误: 需要']'
int temp=a[y];
^
hanshu.java:279: 错误: 非法的表达式开始
int temp=a[y];
哪错了 烦死了
作者:
江夷
时间:
2014-6-14 18:14
class Test6
{
public static void maopao(int[] a)
{
for(int x=0;x<a.length-1;x++)
{
for(int y=0;y<a.length-x-1;y++)
{
if(a[y]>a[y+1]) //if后面有3个执行语句,需要用{}括起来
{
int temp = a[y];
a[y]=a[y+1];
a[y+1]=temp;
}
}
}
}
public static void print(int[] a)
{
for(int x=0;x<a.length;x++)
{
if(x!=a.length-1)
System.out.print(a[x]+",");
else
System.out.print(a[x]);
}
}
public static void main(String[] args)
{
int [] a ={1,3,5,78,34,90};//没有定义数组,
maopao(a);
print(a);
}
}
另:查问题时一般从报错的第一行开始查,先看格式问题,在看代码问题
作者:
轩辕冰晨
时间:
2014-6-14 21:39
if语句如果不写大"{}",只会执行符合条件的if后面的一条语句,你的代码 只有这一int temp = a[y];a[y]=a[y+1];a[y+1]=temp; 是一个整体的,所以要括起来,楼主的冒泡排序既然没有定义要排序的数组.
作者:
zimi626
时间:
2014-6-14 22:05
本帖最后由 zimi626 于 2014-6-14 22:09 编辑
建议你回头看看什么时候需要定义变量,函数怎么定义以及复习冒泡算法。
作者:
a6217815
时间:
2014-6-14 22:49
错误1:if 后面的3条语句没有用{ } 括起来。
这样就等于if 的判断只对后面一条语句有效,结果就是if 返回false的时候,temp 没有被定义, 后面两天语句就报错了
错误2:没有定义数组a[]。
作者:
See_the_sun
时间:
2014-6-14 22:52
请楼主按照下面代码修改。这个是if的基本语法。估计楼主粗心了。如果这不知道。请翻书。或者看视频
for(int y=0;y<a.length-x-1;y++)
{
if(a[y]>a[y+1])
{
int temp=a[y];
a[y]=a[y+1];
a[y+1]=temp;
}
}
作者:
不去会死
时间:
2014-6-15 09:00
楼上讲的都不错,就是LZ 你长点心吧
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2