Runtime
package com.yootk.demo;
public class YootkDemo { // 李兴华编程训练营:yootk.ke.qq.com
public static void main(String[] args) throws Exception {
Runtime runtime = Runtime.getRuntime(); // 获取Runtime类的对象实例
// 每当通过Runtime启动了一个进程之后实际上哦度会返回有一个进程对象
Process process = runtime.exec("notepad.exe") ; // 执行Windows系统中的命令
Thread.sleep(2000); // 运行2秒的进程
process.destroy(); // 销毁进程
}
}
常规四舍五入定义
package com.yootk.util;
/**
* 该类是一个自定义的数学工具类,可以弥补Math类的不足
* @author 李兴华
*/
public class MathUtil {
private MathUtil() {} // 不存在成员属性,构造方法私有化
/**
* 进行准确位数的四舍五入的处理操作
* @param num 表示要进行处理的数字
* @param scale 表示要保留的小数位数
* @return 四舍五入处理后的结果
*/
public static double round(double num, int scale) {
return Math.round(num * Math.pow(10.0, scale)) / Math.pow(10.0, scale);
}
}
package com.yootk.demo;
import com.yootk.util.MathUtil;
public class YootkDemo { // 李兴华编程训练营:yootk.ke.qq.com
public static void main(String[] args) throws Exception {
System.out.println("【四舍五入】" + MathUtil.round(15.3829489, 3)); // 15
}
}
Random
package com.yootk.demo;
import java.util.Random;
public class YootkDemo { // 李兴华编程训练营:yootk.ke.qq.com
public static void main(String[] args) throws Exception {
Random random = new Random() ; // 随机数类
for (int x = 0 ; x < 10 ; x ++) {
System.out.print(random.nextInt(100) + "、");
}
}
}
彩票生成
package com.yootk.demo;
import java.util.Arrays;
import java.util.Random;
class LotteryTicket { // 彩票工具类
// 因为随机数字生成的时候会存在有0,或者会存在有重复的数据,那么数组的索引必须单独控制
private int index ; // 手工控制生成索引
private int [] data ; // 保存最终生成的彩票数据
private Random rand = new Random() ;
public LotteryTicket() {
this.data = new int[7] ; // 动态初始化
}
public void random() { // 随机生成彩票数据
while (this.index < this.data.length) { // 还需要持续生成
int code = this.rand.nextInt(37) ; // 1 ~ 36为彩票数据的生成范围
if (this.isExists(code)) { // 检测数据是否可用
this.data[this.index ++] = code ; // 保存生成的数值
}
}
}
private boolean isExists(int code) {
if (code == 0) { // 不判断0
return false ; // 表示该数值不可用
}
for (int temp : this.data) {
if (temp == code) {
return false ; // 表示该数值不可用
}
}
return true ; // 可用
}
public int[] getData() {
Arrays.sort(this.data); // 数组排序
return data;
}
}
public class YootkDemo { // 李兴华编程训练营:yootk.ke.qq.com
public static void main(String[] args) throws Exception {
LotteryTicket lotteryTicket = new LotteryTicket() ;
lotteryTicket.random(); // 随机生成彩票数据
for (int temp : lotteryTicket.getData()) {
System.out.print(temp + "、");
}
}
}
大数字处理
BigInteger
package com.yootk.demo;
import java.math.BigInteger;
public class YootkDemo { // 李兴华编程训练营:yootk.ke.qq.com
public static void main(String[] args) throws Exception {
BigInteger bigA = new BigInteger("2378902389023") ; // 大数字类
BigInteger bigB = new BigInteger("723782378") ; // 大数字类
System.out.println("【加法计算】" + bigA.add(bigB));
System.out.println("【减法计算】" + bigA.subtract(bigB));
System.out.println("【乘法计算】" + bigA.multiply(bigB));
System.out.println("【除法计算】" + bigA.divide(bigB));
// 当前给定的两个数字类对象是不可能进行整除处理的,所以可以采用余数的形式进行除法计算
BigInteger result [] = bigA.divideAndRemainder(bigB) ; // 计算商和余数
System.out.println("【除法计算】商:" + result[0] + "、余数:" + result[1]);
}
}
BigDecimal
四则运算
package com.yootk.demo;
import java.math.BigDecimal;
import java.math.RoundingMode;
public class YootkDemo { // 李兴华编程训练营:yootk.ke.qq.com
public static void main(String[] args) throws Exception {
BigDecimal bigA = new BigDecimal("2378902389023.2323231") ; // 大数字类
BigDecimal bigB = new BigDecimal("723782378.7237238") ; // 大数字类
System.out.println("【加法计算】" + bigA.add(bigB));
System.out.println("【减法计算】" + bigA.subtract(bigB));
System.out.println("【乘法计算】" + bigA.multiply(bigB));
System.out.println("【除法计算】" + bigA.divide(bigB, RoundingMode.HALF_UP));
}
}
四舍五入
package com.yootk.util;
import java.math.BigDecimal;
import java.math.RoundingMode;
/**
* 该类是一个自定义的数学工具类,可以弥补Math类的不足
* @author 李兴华
*/
public class MathUtil {
private MathUtil() {} // 不存在成员属性,构造方法私有化
/**
* 进行准确位数的四舍五入的处理操作
* @param num 表示要进行处理的数字
* @param scale 表示要保留的小数位数
* @return 四舍五入处理后的结果
*/
public static double round(double num, int scale) {
return Math.round(num * Math.pow(10.0, scale)) / Math.pow(10.0, scale);
}
public static double round2(double num, int scale) {
return new BigDecimal(num).divide(new BigDecimal(1), scale, RoundingMode.HALF_UP).doubleValue() ;
}
}
package com.yootk.demo;
import com.yootk.util.MathUtil;
public class YootkDemo { // 李兴华编程训练营:yootk.ke.qq.com
public static void main(String[] args) throws Exception {
System.out.println(MathUtil.round2(19.56789, 2));
}
}