Java訊序
① java 排序
你的錯在於你的賦值和排序混到一起了.
循環了一次後,排了一次後,你又賦值把排好數字給覆蓋了.
你把賦值單提出來,在排你的序就正確了.
自己想想吧.
int[] a = new int[args.length] ;
//賦值
for( int i = 0 ; i < args.length ; i ++ )
a[i] = Integer.parseInt(args[i]);
//排序
for (int i=0;i<a.length;i++){
for (int j=i+1;j<a.length;j++){
int c =0;
if(a[i]>a[j]){
c=a[i];
a[i]=a[j];
a[j]=c;
}
}
System.out.print(a[i]);
}
}
在就提點建議:
在java里的排序都現成的方法:數組工具類java.util.Arrays,用這個類的sort()方法.集合用java.util.Collections類,這些一般能滿足你的需求.
② java排序
演算法沒錯
就是後面的調用錯了
QuickSort.quickSort(arr, 0, strArr.length);
應該為QuickSort.sort(arr, 0, strArr.length);才對
③ JAVA排序
你想問什麼呢?
字元串比較的時候是按從左到右的順序,如果第1個字母相同則比較第2個,依此類推。
你這個例子中,如果想要答案是:
[0, 1, 2, 3, 32, 34, 4]
0
1
2
3
4
32
34
你就得將字元串轉為數字。
④ java排序
寫個比較器,調用指定比較器的sort方法
⑤ 關於java排序
import java.util.Scanner;
public class Test7 {
public static void main(String[] args) {
int[] list = new int[5];
Scanner sc=new Scanner(System.in);
System.out.println("請輸入5個整數:");
for(int i=0;i<5;i++){
list[i]=sc.nextInt();
}
list=reverse(list);
for (int i = 0; i < list.length; i++)
System.out.print(list[i] + " ");
}
public static int[] reverse(int[] list) {
int[] newlist = new int[list.length];
for (int i = 0; i < list.length; i++) {
newlist[i] = list[list.length - 1 - i];
}
return newlist;
}
}
已經運行完全正確...
祝樓主早日成功!!!
⑥ java 排序
import java.util.*;
public class thetestclass {
// 下為構建數組
public static class arrays {
public String str;// 數名
public int mun; // 數
public arrays(String str, int mun) {
this.mun = mun;
this.str = str;
}
}
// 下類構建排序函數,快速排序為
public static class compare implements Comparator {
@Override
public int compare(Object arg0, Object arg1) {
// TODO Auto-generated method stub
arrays s1 = (arrays) arg0;
arrays s2 = (arrays) arg1;
if (s1.mun > s2.mun) {// 第一個比第二個大,返回-1
return 1;
} else if (s1.mun == s2.mun) {
// 第一個和第二個相等,返回0
return -1;
} else {// 第一個比第二個小,返回1
return -1;
}
}
}
public static void main(String[] args) {
List<arrays> arr = new ArrayList<arrays>();
// 以下循環隨機添加10個數及數名進入數組
for (int i = 0; i < 10; i++) {
int n = (int) (Math.random() * 50);// 隨機獲取50以內的整數
String str = "num" + i;
arrays Arra = new arrays(str, n);
arr.add(Arra);
}
// 以下循環輸出原始數組
System.out.println("原始數組:");
for (int i = 0; i < arr.size(); i++) {
System.out.print(arr.get(i).str + "=" + arr.get(i).mun + " ");
}
System.out.println();
compare sc1 = new compare();
Collections.sort(arr, sc1);// 排序
// 以下循環輸出排序後的數組
System.out.println("排序後的數組:");
for (int i = 0; i < arr.size(); i++) {
System.out.print(arr.get(i).str + "=" + arr.get(i).mun + " ");
}
}
}
⑦ java里,常用的排序方法
排序的方法和java無關,是演算法的事情。當然了,如果你熟悉Java語言的話,你就看看這個關於Java里排序的文章吧
http://www.javaeye.com/topic/377040
⑧ java升序排序
實現思路:實際上就是每次取出來兩個值,之後進行比較,進行換位置,直到比較結束。
**********************************/
import java.io.*;
import java.lang.*;
public class ascend{
public static void main(String[] args){
int i,j,myArray[],t;
myArray=new int[4];
System.out.println("please enter number four");
myArray[0]=IO.getInt();
myArray[1]=IO.getInt();
myArray[2]=IO.getInt();
myArray[3]=IO.getInt();
for(i=0;i<myArray.length;i++)
{
for(j=i+1;j<myArray.length;j++)
{
if(myArray[i]<myArray[j])
{
t=myArray[i];
myArray[i]=myArray[j];
myArray[j]=t;
}
}
}
for(i=0;i<myArray.length;i++)
{
System.out.print(myArray[i]+",");
}
System.out.println();
}
}
⑨ java 新手排序
代碼如下:
publicclassTest{
publicstaticvoidmain(String[]args){
//定義字元串
Stringstr="6222750107116807A900"+"6222756100000419A1100"+"6212690105761620A1001"
+"6222750107116807A1900"+"6222756100000419A2000"+"6212690105761620A100"+"6222750107116807A800"
+"6222756100000419A1300"+"6212690105761620A1400";
//將字元串用指定格式分割成字元串數組
String[]array=str.split("6222");
//遍歷數組依次取出數組中的元素,並且列印
for(inti=0;i<array.length;i++){
System.out.println(array[i]);
}
}
}