package javaAbc;
import javaAbc.util.ArraySort;
public class Training1{
public static void main(String[] args){
int arr[]={26,15,29,66,99,88,36,77,111,1,6,8,8};
System.out.println("数组排序前:");
ArraySort.printArray(arr);
ArraySort.selectSort(arr);
System.out.println("数组排序后:");
ArraySort.printArray(arr);
}
}
package javaAbc.util;
public class ArraySort{
public static void selectSort(int[] a){
for (int i=0;i<a.length-1;i++){
int k=i;
for(int j=i+1;j<a.length;j++)
if(a[j]<a[k])
k=j;
if(i!=k){
int t=a[i];
a[i]=a[k]; a[k]=t;
}
}
}
public static void printArray(int arr[]){
for(int i:arr){
System.out.print(i+"\t");
}
System.out.println();
}
}
你要把行号也贴出来啥,这样找好累的。
selectSort函数是少了结束的括号,
if(a[j]<a[k])语句后面也少了开始的左括号,
请注意养成好的排版习惯,你这个错误都是少了括号引起的问题,好好查看一下。
public class Training1 {
public static void main(String[] args){
int arr[]={26,15,29,66,99,88,36,77,111,1,6,8,8};
System.out.println("数组排序前:");
ArraySort.printArray(arr);
ArraySort.selectSort(arr);
System.out.println("数组排序后:");
ArraySort.printArray(arr);
}
}
class ArraySort{
public static void selectSort(int[] a){
for (int i=0;i<a.length-1;i++){
int k=i;
for(int j=i+1;j<a.length;j++)
if(a[j]<a[k])
k=j;
if(i!=k){
int t=a[i];
a[i]=a[k]; a[k]=t;
}
}
}
public static void printArray(int arr[]){
for(int i:arr){
System.out.print(i+"\t");
}
System.out.println();
}
}
我这边测试没有问题
代码没问题,不知道你是怎么运行的。
你把两个类写在一个文件里了?
您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632