`
jythoner
  • 浏览: 601495 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java每日一题01

阅读更多
计划从今天开始推出Java每日一题,(都是一些很简单的Java基础问题,大部分是从百度知道的问题中整理出来的),希望大家能够积极参与,给出自己的解法,共同进步!

使用java.lang.Math类,生成100个0到99之间的随机整数,找出它们之中的最大者和最小者,并统计大于50的整数个数

package test01;
public class RandomNum {

	public static void main(String[] args) {
		int number[] = new int[100];
		int record = 0;
		for (int i = 0; i < number.length; i++) {
			number[i] = (int) Math.round(99 * Math.random());
			if (number[i] > 50) {
				record++;
			}
		}
		System.out.println("大于50的整数有:" + record + "个");
		// 给数组排序(冒泡排序)
		for (int i = 0; i < number.length; i++) {
			for (int j = 0; j < number.length - i - 1; j++) {
				if (number[j] < number[j + 1]) {
					int temp = number[j];
					number[j] = number[j + 1];
					number[j + 1] = temp;
				}
			}
		}

		System.out.println("最大的整数:" + number[0]);
		System.out.println("最小整数" + number[99]);
	}
}


或者
package test01;
public class RandomNum2 {

	public static void main(String[] args) {
		int min = 99;
		int max = 0;
		int temp;
		int count = 0;
		for (int i = 0; i < 100; i++) {
			temp = (int) (Math.random() * 100);
			// System.out.println(temp);
			if (temp > 50) {
				count++;
			}

			if (min > temp) {
				min = temp;
			}

			if (max < temp) {
				max = temp;
			}
		}
		System.out.println("Max is:" + max);
		System.out.println("Min is:" + min);
		System.out.println("The count that bigger than 50 is:" + count);
	}
}
24
3
分享到:
评论
22 楼 luoyenabian 2010-01-17  
可以去到99啊
21 楼 creasure 2009-06-03  
没有错的。int round(float a)返回最接近参数的 int。通过加上 1/2 将该结果舍入为整数,取结果的基数并将其强制转换为 int 类型。换句话说,结果等于以下表达式的值:
(int)Math.floor(a + 0.5f)

yangwen13 写道

kakaluyi 写道第一种方法是错误的只能取到1-98的数字看来你对API的理解不够深哦~~~看看API吧。round()返回最接近参数的 long,random()返回带正号的 double 值,该值大于等于 0.0 且小于 1.0

20 楼 yinxiaoyong 2009-04-01  
不错,每天都在学习中,呵呵
19 楼 flyinginte 2009-03-17  
第一种方法可以取到比98大的数,比如99
18 楼 kingle85 2009-03-16  
不错,很基础
17 楼 wenming200882 2009-03-11  
第二种方法 的for (int i = 0; i < 10; i++) {   
请教一下是for (int i = 0; i < 100; i++) {吧  
16 楼 ccjsjymg 2009-02-28  
引用

package util;

import java.util.Arrays;

/**
* 使用java.lang.Math类,生成100个0到99之间的随机整数,
* 找出它们之中的最大者和最小者,并统计大于50的整数个数
* @author zl
*/
public class RadomNumber {
public static Integer[] createRadomDigit(){
Integer[] number = new Integer[100];
for(int i =0;i < number.length;i++){
number[i] = Integer.valueOf((int)(Math.random() * 100));
}
return number;
}
public static int getMax_min(Integer[] integer){
if(integer == null || integer.length == 0) return 0;
int flag = 0;
Arrays.sort(integer);
System.out.println("最小数:"+integer[0]);
System.out.println("最大数:"+integer[integer.length-1]);
for(int i = 0;i < integer.length;i++){
if(integer[i].intValue() <= 50){
continue;
}else{
flag++;
}
}
return flag;

}
public static void main(String[] args) {
System.out.println(getMax_min(createRadomDigit()));
}
}

15 楼 yangwen13 2009-02-27  
kakaluyi 写道

第一种方法是错误的只能取到1-98的数字

看来你对API的理解不够深哦~~~
看看API吧。
round()返回最接近参数的 long,random()返回带正号的 double 值,该值大于等于 0.0 且小于 1.0
14 楼 diaolanshan 2009-02-25  
I prefer the second method.
13 楼 jiayouyx 2009-02-19  
既然是OO。那么我想我们更应该把这些东西封装起来啊。在多写几个多态。不知道在JAVA类包里有没有这些方法。不太清楚!看看JDK文档吧。
12 楼 grubbyskywu 2009-02-15  
    学习
11 楼 weii 2009-02-13  
第二种方法,有意思,机灵
10 楼 kakaluyi 2009-02-13  
第一种方法是错误的只能取到1-98的数字
9 楼 浪客剑心 2009-02-13  
嗯 不错!
关注中
8 楼 funshare 2009-02-10  
支持,每日关注
7 楼 zchen01 2009-02-07  
很好啊,每日关注
6 楼 qxd8304 2009-02-06  
挺好的,每天关注!
5 楼 blueprint001 2009-02-06  
挺好的,每天复习点,重在积累,哈哈~
4 楼 sjynt131 2009-02-06  
第二个解法挺好啊,没必要再贴第一种方法
3 楼 funcreal 2009-02-06  
这种问题是不是更适合csdn上讨论?

相关推荐

Global site tag (gtag.js) - Google Analytics