黑马程序员技术交流社区
标题:
(已经解决)关于数组的问题!
[打印本页]
作者:
周海诚
时间:
2012-4-17 17:14
标题:
(已经解决)关于数组的问题!
本帖最后由 周海诚 于 2012-4-18 12:14 编辑
定义一个方法
返回三个数
返回的概率分别为7%,8%,9%
请教是用Random吗?
作者:
liuyang
时间:
2012-4-17 21:20
Random应该不能控制概率吧
作者:
刘蕴学
时间:
2012-4-17 21:45
random是用来生成随机数的,简单来说也可以得随机的几率,但这个跟概率没有关系。。。两个概念
下边这个根据几率做一些功能的例子
import java.util.Random;
public class ran
{
static Random random = new Random();
public static void main(String[] args)
{
// 第一个参数100表示比例,如果要求千分比就是1000
// 第二个参数是表示要拿几个随机的比例
int[] randomArray = getRandomNums(100, 10);
// 假设我有一个功能,有35的几率说你好,有45的几率说hello,另外20%的几率说对不起
for (int i : randomArray)
{
if(i < 35)
{
System.out.println("你好");
}
else if(i < 80){
System.out.println("hello");
}
else {
System.out.println("对不起");
}
}
}
public static int[] getRandomNums(int scale, int nums)
{
int[] temp = new int[nums];
for(int i = 0; i < nums; i++)
{
temp[i] = getRandom(scale);
}
return temp;
}
public static int getRandom(int scale)
{
return Math.abs(random.nextInt() % scale);
}
}
复制代码
作者:
曾虓
时间:
2012-4-17 21:51
本帖最后由 曾虓 于 2012-4-17 21:55 编辑
random是用来生成生成随机数的,不能直接生成概率,不过可以通过
Random rndRandom =new Random();
以及int i =rndRandom.nextInt(100);
来生成0-99的值,再转换成字符串类型+%,输出打印即可。
代码如下:
public static void main(String[] args) {
Random rndRandom = new Random();
String[] str = new String[3];
for (int i = 0; i <= 2; i++) {
str[i] = String.valueOf(rndRandom.nextInt(100)) + "%";
System.out.println(str[i]);
}
}
复制代码
希望对你有所帮助
作者:
周海诚
时间:
2012-4-18 12:14
曾虓 发表于 2012-4-17 21:51
random是用来生成生成随机数的,不能直接生成概率,不过可以通过
Random rndRandom =new Random();
以及int ...
谢谢··
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2