在JAVA里如何生成一个大于0小于等于100
和大于11小于等于100的随机数呢??
和大于11小于等于100的随机数呢??
解决方案 »
- 谁能告诉我long型变量是怎样初始化的?
- mysql数据库连接不上,报错:com.mysql.jdbc.CommunicationsException
- java记事本程序问题
- 请问大家这个语句是什么意思 谢谢! System.out.println(new String(buf, 0, len));
- 这样算是面向对象么?
- 关于服务器的性能、状态、参数的监控的代码
- 包如何使用??????
- 关于JAVA开发B/S方式还是C/S方式,谁更有前途!!!
- 测试!都来看看,都有分送!
- 在线等待jdbc连接ms sql2000问题!!
- 问一个很幼稚的问题,怎样找第一个工作??
- 一个很郁闷的Java问题,高手帮帮我!!!!
第二个说下,先生成一个0-89的随机数,然后把它加上11就是11-100的了
{
public static void main(String [] args)
{
Random r = new Random();
int num1 = r.nextInt(100);
int num2 = r.nextInt(89);
System.out.println(num1);
System.out.println(num2+11);
}
}
int n = (int)(Math.random() * 100);
和大于11小于等于100的随机数呢?? r.nextInt(89) + 12;
这样就并不是大于0,大于11 了...
super();
// TODO Auto-generated constructor stub
} /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub Random rand = new Random();
int rand1 = rand.nextInt(100);
int rand2 = rand.nextInt(89);
if(rand1 == 0)
{
rand1 +=1;
}
if(rand2 == 0)
{
rand2 +=1;
}
System.out.println("rand1 bettwn 0 to 100: "+rand1);
System.out.println("rand2 bettwn 0 to 89: "+(rand2+11));
}}这样就完全可以了......
r.nextInt(101);
r.netInt(89)+11;
public int nextInt(int n)返回一个伪随机数,它是从此随机数生成器的序列中取出的、在 0(包括)和指定值(不包括)之间均匀分布的 int值。nextInt 的常规协定是伪随机地生成并返回指定范围中的一个 int 值。所有 n 个可能 int 值的生成概率(大致)相同。
————————————————————————————
根据上面java里public int nextInt(int n)这里的n值是永远取不到的(thinking in java里也说过)。因此如果用nextInt(100)那个随机数等于100是永远取不到的。
所以我认为应该写下面成这样:
while(true){
a=rand.nextInt(100+1);
if(a>0&&a<=100)break;//生成一个大于0小于等于100
}
while(true){
b=rand.nextInt(90)+11;
if(a>11&&a<=100)break;//大于11小于等于100的随机数呢
}