您的位置:首页 > 编程语言 > Java开发

Java第一次作业

2011-03-27 17:03 393 查看
题目:

/*

* 随机生成50个数字(整数),每个数字的范围是10,50,统计每个

* 数字出现的次数以及出现次数最多的数字与它的个数,最后将每个数字

* 及其出现次数打印出来,如果某个数字出现次数为0,则不要打印它,

* 打印进按照数字的升序排列。

*/

第一种初步实现:

public class ExerciseRandom
{
public static void main(String[] args)
{
final int arraylength = 50;    //column
final int arrayrow = 2;        // Row
int[][] random = new int[arraylength][arrayrow];

for(int i=0;i<arraylength;i++)
{
random[i][0] = randm(10,50);
}

random = bubbleSort(random);
countx(random);
printArray(random);
}

//生成min到max之间的随机数,也可以使用util.Random方法
public static int randm(int min,int max)
{
int m = (int)Math.rint(Math.random()*(max-min)+min);
return m;
}
//冒泡排序
public static int[][] bubbleSort(int[][] array)
{
boolean isswap=false;
for(int i=0;i<array.length-1;i++)
{
for(int j=0;j<array.length-i-1;j++)
{
if( array[j][0] > array[j+1][0])
{
int temp = array[j][0];
array[j][0] = array[j+1][0];
array[j+1][0] = temp;
isswap = true;
}
}
if (isswap == false)
return array;
}

return array;
}

//统计数组array中的值的出现次数
public static void countx(int[][] array)
{
for(int i=0;i<array.length;i++)
{
for(int m=i;m<array.length;m++)
{
if(array[i][0] == array[m][0])
{
array[i][1] +=1;
}
else {
i=m-1;
break;
}
}

}
}

private static void printArray(int[][] array)
{
for(int i=0;i<array.length;i++)
{
for(int j=0;j<array[0].length;j++)
System.out.print(array[i][j]+" ");
System.out.println();
}
}
}


public class ExerciseRandom { public static void main(String[] args) { final int arraylength = 50; //column final int arrayrow = 2; // Row int[][] random = new int[arraylength][arrayrow]; for(int i=0;i<arraylength;i++) { random[i][0] = randm(10,50); } random = bubbleSort(random); countx(random); printArray(random); } //生成min到max之间的随机数,也可以使用util.Random方法 public static int randm(int min,int max) { int m = (int)Math.rint(Math.random()*(max-min)+min); return m; } //冒泡排序 public static int[][] bubbleSort(int[][] array) { boolean isswap=false; for(int i=0;i<array.length-1;i++) { for(int j=0;j<array.length-i-1;j++) { if( array[j][0] > array[j+1][0]) { int temp = array[j][0]; array[j][0] = array[j+1][0]; array[j+1][0] = temp; isswap = true; } } if (isswap == false) return array; } return array; } //统计数组array中的值的出现次数 public static void countx(int[][] array) { for(int i=0;i<array.length;i++) { for(int m=i;m<array.length;m++) { if(array[i][0] == array[m][0]) { array[i][1] +=1; } else { i=m-1; break; } } } } private static void printArray(int[][] array) { for(int i=0;i<array.length;i++) { for(int j=0;j<array[0].length;j++) System.out.print(array[i][j]+" "); System.out.println(); } } }
第二种初步实现

import java.util.Random;
public class ExerciseRandomTest2
{
public static void main(String[] args)
{
int[] count  = new int[41];  //最多41种数字
Random random = new Random();

for(int i=0;i<50;i++)
{
int number = random.nextInt(41)+10;  //生成的随机数
System.out.println(number);
//坐标为随机数-10,随机数存在数组中,如果随机数相同,则量变增加1
count[number - 10]++;
}

for(int i = 0 ; i< count.length; i++)
{
if (0 == count[i])
{
continue;
}
System.out.println((10+i) + "出现交数:" + count[i]);
}

}
}


import java.util.Random; public class ExerciseRandomTest2 { public static void main(String[] args) { int[] count = new int[41]; //最多41种数字 Random random = new Random(); for(int i=0;i<50;i++) { int number = random.nextInt(41)+10; //生成的随机数 System.out.println(number); //坐标为随机数-10,随机数存在数组中,如果随机数相同,则量变增加1 count[number - 10]++; } for(int i = 0 ; i< count.length; i++) { if (0 == count[i]) { continue; } System.out.println((10+i) + "出现交数:" + count[i]); } } }

本文出自 “邓卫华” 博客,请务必保留此出处http://dengweihua1.blog.51cto.com/134932/528106
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: