java第九章(数字处理类)--随机数、大数字(加减乘除)、
来源:互联网 发布:sqlserver分页存储过程 编辑:程序博客网 时间:2024/05/18 22:42
三--随机数:
1.Math.random()方法:在Math类中存在一个random()方法,用于产生随机数字,这个方法默认生成大于等于0.0小雨1.0的double型随机数,即0<=Math .random()<1.0 , 虽然Math.random()方法只可以产生0~1之间的double类型数字,其实只要在Math.random()语句上稍加处理,就可以使用这个方法善生任意范围的随机数:
(1)(int)(Marh.random()*n) 返回大于等于0小于n之间的随机数
(2)m+( int )(Math.random()*n) 返回大于等于m小于m+n(不包括m+n)之间的随机数
package a;public class a { public static int GetEvenNum(double num1,double num2) { int s=(int)num1+(int)(Math.random()*(num2-num1)); if(s%2==0) { return s; } else return s+1; } public static void main(String[] args) { System.out.println("2~32之间任意一个偶数: "+GetEvenNum(2,32)); }}控制台输出结果:2~32之间任意一个偶数: 4
2.使用Math类的random()方法也可以随机生成字符,,可以使用如下代码,生成‘a’~‘z’之间的字符:
(char)('a'+Marh.random()*('z'-'a'+1));
(char)(char1+Math.random()*(char2-char1+1));
package a;public class a { public static char fun(char char1,char char2) { return (char)(char1+Math.random()*(char2-char1+1)); } public static void main(String [] args) { System.out.println("任意小写字符 "+fun('a','z')); System.out.println("任意大写字符 "+fun('A','Z')); System.out.println("0到9任意数字 "+fun('0','9')); }}控制台输出结果:任意小写字符 x任意大写字符 W0到9任意数字 9
3.除了Math类中random()方法可以获取随机数之外,在java中还提供了一种可以获取随机数的方式,那就是java.,util.Random类。可以通过实例化一个Random对象创建一个随机数生成器:
(1)Random r=new random(); r是指Random对象
同时也可以在实例化Random类对象是,设置随机数生成器的种子:
(2)Random r= new Random(seeValue) r是指Random类对象, seedValue:随机数生成器的种子
****在Random类中提供各种数据类型随机数的方法:
package a;import java.util.Random; public class a { public static void main(String[] args) { Random r=new Random(); System.out.println("随机产生一个整数: "+r.nextInt()); System.out.println("随机产生一个大于等于0小于10的整数: "+r.nextInt(10)); System.out.println("随机产生一个布尔型的值: "+r.nextBoolean()); System.out.println("随产生一个双精度的值; "+r.nextDouble()); System.out.println("随机产生一个浮点型的值: "+r.nextFloat()); System.out.println("随机产生一个概率密度为高斯分布的双精度值: "+r.nextGaussian()); }}控制台输出结果:随机产生一个整数: 1440689419随机产生一个大于等于0小于10的整数: 4随机产生一个布尔型的值: true随产生一个双精度的值; 0.561123901919533随机产生一个浮点型的值: 0.56350034随机产生一个概率密度为高斯分布的双精度值: 0.139858257986313
四:大数字:
package a;import java.math.BigInteger; public class a { public static void main(String [] args) { BigInteger bigInstance=new BigInteger("4");//实例化一个大数字 System.out.println("加法操作: "+bigInstance.add(new BigInteger("2"))); System.out.println("减法操作: "+bigInstance.subtract(new BigInteger("2"))); System.out.println("乘法操作: "+bigInstance.multiply(new BigInteger("2"))); System.out.println("除法操作: "+bigInstance.divide(new BigInteger("2"))); System.out.println("求余操作: "+bigInstance.divideAndRemainder(new BigInteger("3"))[1]); System.out.println("取商操作: "+bigInstance.divideAndRemainder(new BigInteger("3"))[0]); System.out.println("做2次方操作: "+bigInstance.pow(2)); System.out.println("取相反操作: "+bigInstance.negate()); }}控制台输出结果:加法操作: 6减法操作: 2乘法操作: 8除法操作: 2求余操作: 1取商操作: 1做2次方操作: 16取相反操作: -4
package a;import java.math.BigDecimal; public class a { static final int location=10; public static BigDecimal add(double value1,double value2){ BigDecimal b1=new BigDecimal(Double.toString(value1)); BigDecimal b2=new BigDecimal(Double.toString(value2)); return b1.add(b2); } public static BigDecimal sub(double value1,double value2){ BigDecimal b1=new BigDecimal(Double.toString(value1)); BigDecimal b2=new BigDecimal(Double.toString(value2)); return b1.subtract(b2); } public static BigDecimal mul(double value1,double value2){ BigDecimal b1=new BigDecimal(Double.toString(value1)); BigDecimal b2=new BigDecimal(Double.toString(value2)); return b1.multiply(b2); } public static BigDecimal div(double value1,double value2){ return div(value1,value2,location); } public static BigDecimal div(double value1,double value2,int b){ if(b<0){ System.out.println("b值必须大于等于0"); } BigDecimal b1=new BigDecimal(Double.toString(value1)); BigDecimal b2=new BigDecimal(Double.toString(value2)); return b1.divide(b2,b,BigDecimal.ROUND_HALF_UP); } public static void main(String[] args) { a b=new a();//注意这里的a是类名 System.out.println("两个数字相加结果:"+b.add(-7.5, 8.9)); System.out.println("两个数字相减结果:"+b.sub(-7.5, 8.9)); System.out.println("两个数字相乘结果:"+b.mul(-7.5, 8.9)); System.out.println("两个数字相除结果,结果小数后保留10位:"+b.div(10, 2)); System.out.println("两个数字相除,结果保留小数后5位:"+b.div(-7.5, 8.9,5)); }}控制台输出结果:两个数字相加结果:1.4两个数字相减结果:-16.4两个数字相乘结果:-66.75两个数字相除结果,结果小数后保留10位:5.0000000000两个数字相除,结果保留小数后5位:-0.84270
阅读全文
1 0
- java第九章(数字处理类)--随机数、大数字(加减乘除)、
- 大数字的加减乘除四则运算
- java中数字加减乘除乱象(尤其是double类型)
- 数字加减乘除
- Java数字格式化、Math类、随机数笔记
- java产生随机数且猜数字游戏(源码)
- java中处理高精度大数字的类 BigDecimal, BigInteger
- 数字操作类(Math,Random,大数字)简析
- c# 生成随机数(数字、字母、数字+字母)
- Java 随机数工具类(可指定字母或数字生成)
- java 生成字母+数字随机数
- Python 第一章 基础知识(3) 数字和表达式 加减乘除
- JAVA数字处理类使用
- java 数字处理工具类
- Java 数字处理类
- c#生成随机数(数字和字母)
- 生成随机数(大写字母,小写字母,数字)
- 获取随机数(纯数字和混合)
- (1): 数据结构
- Mac常用快捷键,命令行快捷键及常用指令
- iOS开发中内存泄漏检测工具--MLeaksFinder
- 69. Sqrt(x)
- 【服务器编程】EPOLL的LT和ET模式的区别和理解
- java第九章(数字处理类)--随机数、大数字(加减乘除)、
- http://www.cnblogs.com/littleatp/p/4815921.html
- Android5.0 Button文字英文自动变成大写解决办法
- 守护进程详解
- POJ 1925 Spiderman 笔记
- Oracle的差异增量备份和累积增量备份,RMAN增量备份脚本
- spring boot 添加admin监控
- UML学习总结
- input文件选择框 springmvc实现多文件上传