Java 随机生成一个范围内的数


一、取模操作
public static void main(String[] args)
{
for (int i = 1; i <= 20; i++)
{
int j = i % 11;
System.out.println(i + "%11的结果——" + j);
}
}
1%11的结果——1
2%11的结果——2
3%11的结果——3
4%11的结果——4
5%11的结果——5
6%11的结果——6
7%11的结果——7
8%11的结果——8
9%11的结果——9
10%11的结果——10
11%11的结果——0
12%11的结果——1
13%11的结果——2
14%11的结果——3
15%11的结果——4
16%11的结果——5
17%11的结果——6
18%11的结果——7
19%11的结果——8
20%11的结果——9

二、java.uitl.Random
random.nextInt(20),任意取[0,20)之间整数,其中0可以取到,20取不到

三、取某个范围的任意数
public static String getRandom(int min, int max)
{
Random random = new Random();
int s = random.nextInt(max) % (max - min + 1) + min;
return String.valueOf(s);

}

(max) % (max - min +1)0-(max - min) 的值

+min 表示(min - max) 的值






Java代码  
  1. //产生 一个范围的内的数  
  2. private int generateRandomByScope(int small,int bignum){  
  3.         int num=-1;  
  4.         Random random=new Random();  
  5.         num=random.nextInt(bignum)+small;  //产生幸运数  
  6.         return num;  
  7. }  

/随机生成 a 个 0<= num <=b 的数 

Java代码   收藏代码
  1. private Integer[] getNumArray(int a,int b){  
  2.         Integer[] num=new Integer[a];  
  3.         Random r=new Random();  
  4.         for(int i=0;i<a;){  
  5.             int temp=r.nextInt(b);  
  6.             if(!Arrays.asList(num).contains(temp)){  
  7.                 num[i]=temp;  
  8.                 i++;  
  9.             }  
  10.         }  
  11.         return num;  
  12.     }  


//在固定的长度的数组中随机位置上插入一个数 

Java代码   收藏代码
  1. int[] nums1=new int[5];  
  2. Random r=new Random();  
  3.                 int index=Math.abs(r.nextInt()%5);  
  4.                   
  5.                 int[] nums=new int[]{5,8,7,9};  
  6.                   
  7.                   
  8.                 nums1[index]=2//随机位置上插入的数  
  9.                   
  10.                 for(int i=0;i<nums.length;i++){  
  11.                     if(i<index){  
  12.                         nums1[i]=nums[i];  
  13.                     }else{  
  14.                         nums1[i+1]=nums[i];  
  15.                     }  
  16.                 }  




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值