求随机数[100-1000),人性化打印,求得该数的逆序的数值形式,并打印。
话不多说,附上代码:
相关的文字说明我会在代码注释中标注出来
public class TestMain{
//求随机数[100-1000),人性化打印,求得该数的逆序的数值(int)形式,并打印。
//思路:将个位十位百位单独求出来,然后个位和百位交换位置即可。
public static void main(String[] args){
//java 中如何得到一个随机数
final int MIN = 100;
final int MAX = 1000;
//随机数 返回一个double 值,随机的。0 到 1.0 前闭后开
//Math.random();[0~1.0)
double ran = Math.random();
double number = ran*(MAX-MIN)+MIN;
//System.out.println(number);
//将double转化为int
int intNum = (int)number;
//思考,如果通过一行代码实现得到一个指定区间的随机数。
//一行实现得到一个指定区间的随机数
intNum = (int)(Math.random()*(MAX-MIN)+MIN);
System.out.println("随机数为:"+intNum);
//个位,十位,百位
int theUnitNum = intNum%10;
int tensDigitNum = intNum/10%10;
int hundredsNum = intNum/100;
//新数
int newNum = theUnitNum * 100+tensDigitNum*10 + hundredsNum;
System.out.println("随机数:"+intNum+"\t的逆序形式为:"+newNum);
}
}
另外,使用位运算符也可以达到同样的目的,而且效率更高
使用位运算符求随机数
同时还有:
int num = (ran.nextInt()>>>1)%(Max-Min)+Min