JAVA int类型排序 菜鸟求救!```

给出(0-10)数字,组成一个数组。把它排成从小到大。并得打印出最大的一位数。且这位数出现过几次。。

第1个回答  2008-07-04
import java.util.Arrays;

public class SortTest {
private int[] nums;

// 如果用户调用该构造,则会随机生成一个数组
public SortTest() {
this(init());
}

public SortTest(int[] nums) {
this.nums = nums;
System.out.println("原数组为:");
print();
}

/**
* 这个方法为打印出数组
*/
private void print() {
StringBuffer sb = new StringBuffer();
for (int num : nums) {
sb.append(num + " ");
}
System.out.println(sb);
}

/**
* 随机生成一个数组
*/
private static int[] init() {
int length = (int) (Math.random() * 10) + 1;
int[] temp = new int[length];
for (int i = 0; i < length; i++) {
temp[i] = (int) (Math.random() * 10);
}
return temp;
}

public String getResult() {
// JAVA API 自带的排序方法
Arrays.sort(this.nums);
System.out.println("排序后的数组为:");
print();
int count = 0;
for (int i = this.nums.length - 1; i >= 0; i--) {
if (nums[nums.length - 1] == nums[i]) {
count++;
} else {
break;
}
}
return "最大数为:" + nums[nums.length - 1] + "\t最大数出现过:" + count + "次";
}

public static void main(String[] args) {
System.out.println(new SortTest().getResult());
}
}
第2个回答  2008-07-04
调用arrays.sort();
数组的排序方法
然后打印出最大数字出现几次就容易了
可以取排序后数组的最后一个数字
然后for循环 for外定义一个int i
判断相等就i++;本回答被提问者采纳
第3个回答  2008-07-09
同学们啊,你们学编程的没有学过最基本的冒泡排序法和排列排序法吗?
public static void main(String args [] )
{
int arr[] = new int[10];
//声明数组
for(int i=0;i<arr.length;i++)
{
arr[i]=9-i;
}
//数组赋值从9至0
for(int i=0;i<arr.length;i++)
{
for(int j=i+1;j<arr.length;j++)
{
int num = 0;
if(arr[i]>arr[j])
{
num=arr[i];
arr[i]=arr[j];
arr[j]=num;
}
}
}
//循环比较,这块自己看吧
for(int i=0;i<arr.length;i++)
{
System.out.println("第"+i+"个数字为:"+arr[i]);
}
//输出
System.out.println("最大的数为:"+arr[9]);
}
哈哈,给分吧。。。。。
第4个回答  2008-07-04
int a[] = {1,2,3……,10}
int b[]
Arrays.sort(int[] a) //排序
System.out.print(a[10]) //取得10
System.out.print("出现次数:1")
第5个回答  2008-07-04
import java.util.*;

public class Test{
public static void main(String[] args)
{
int[] tt=new int[10];
int[] mm;
Random ss=new Random(47);
for(int i=0;i<tt.length;i++)
{
tt[i]=ss.nextInt(10);
}
Arrays.sort(tt);
for(int j=0;j<tt.length;j++)
{
System.out.println(tt[j]);
}
}
}

结果是:
0
1
1
2
3
5
7
8
8
9
相似回答