JAVA程序设计中的小问题

来源:百度知道 编辑:UC知道 时间:2024/05/18 08:14:41
程序代码:
public static void setPai(int a[]) {
int m,k,j;
for(int i=0;i<a.length;i++){
m=a[i];k=0; //定义m=a[i],即未完成排序的序列的第一个数
for( j=i+1;j<a.length;j++){
if(a[j]<m){
m=a[j]; //将a[j]的值放入m中
k=1;
}
}
if(k){ //如果k=1,即if里的条件为真,执行下面语句 反之,直接跳过
a[j]=a[i]; //实现a[j]与a[i]互换
a[i]=m;
}

}
}

程序代码:
public static void setPai(int a[]){
for(int i=0;i<a.length;i++){
int k=i;
for(int j=k+1;j<a.length;j++){
if(a[j]<a[k]){
k=j;
}
}
if(k !=i) {
int temp =a[i];
a[i] = a[k];
a[k] = temp;
}
}
}
这两个方法的代码`
我的意思 是实现数组排序

你写的 if(k) 这里不正确, 因为k是int类型,可是if里面需要判断,显然是boolean类型,你改一下if(k ==1)

if(k){ //如果k=1,即if里的条件为真,执行下面语句 反之,直接跳过

!!!这句错了!!!
要这样 if(k==1)

c 或者 mysql sql 等等可以使用1或0表示 真假 java里面的if是绝对不支持这样写