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]);
}
}
}