選擇排序本來是一個比較簡單的排序 今天依照書的方法缺出現(xiàn)奇怪的問題,因?yàn)楹罄m(xù)的排序算法都是基本這套模板來寫,所以必須解決

后來檢查的時候發(fā)現(xiàn)問題所在了

該批注的作用是給編譯器一條指令,告訴它對被批注的代碼元素內(nèi)部的某些警告保持靜默。
@SuppressWarnings 批注允許您選擇性地取消特定代碼段(即,類或方法)中的警告。其中的想法是當(dāng)您看到警告時,您將調(diào)查它,如果您確定它不是問題,
您就可以添加一個 @SuppressWarnings 批注,以使您不會再看到警告。雖然它聽起來似乎會屏蔽潛在的錯誤,但實(shí)際上它將提高代碼安全性,因?yàn)樗鼘⒎乐?/p>
您對警告無動于衷 — 您看到的每一個警告都將值得注意。
@SuppressWarnings 解釋的傳送門:https://blog.csdn.net/hunhun1122/article/details/72356228
附上代碼:
<pre>
//選擇排序
public class Example_Selection {
//算法
public static void sort(Comparable[] a) {
int N=a.length;
for (int i=0;i<N;i++) {
int min =i;
for(int j =i+1;j<N;j++) {
if(less(a[j], a[min]))
min =j;
}
exch(a,i,min);
}
}
//元素比較
private static boolean less(Comparable v,Comparable w) {
return v.compareTo(w)<0;
}
//元素交換位置
private static void exch(Comparable[] a,int i,int j) {
Comparable t=a[i];
a[i]=a[j];
a[j]=t;
}
//打印數(shù)組
private static void show(Comparable[] a) {
for(int i=0;i<a.length;i++)
StdOut.print(a[i]+" ");
StdOut.println();
}
//測試數(shù)組元素是否有序
public static boolean isSorted(Comparable[] a) {
for (int i=1;i<a.length;i++) {
if(less(a[i],a[i-1]))
return false;}
return true;
}
public static void main(String[] args) {
//從標(biāo)準(zhǔn)輸入讀取字符串,將它們排序并輸出
Scanner sca=new Scanner(System.in);
String s=sca.next();
String[] a= s.split(",");
Integer[] num = new Integer[a.length];
for (int i = 0; i < a.length; i++) {
? ? ? ? ? ? num[i] = Integer.parseInt(a[i]);
? ? ? ? }
sort(num);
assert isSorted(num);
show(num);
}
}
</pre>