随机生成两个double型数字相乘

这是一个使用Java编程语言实现的程序,它能够随机生成25行4列的两个小数,并输出它们相乘的结果。该程序适用于数值计算或教学场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

	 double a =Math.random()*100;//生成一个100内的随机数
	 double b =Math.random()*100;//生成一个100内的随机数
	 DecimalFormat df = new DecimalFormat( "0.00" );//创建数字进行格式化类保留小数后两位
	 String c=df.format(a);//格式化后的随机生成数
	 String d=df.format(b);//格式化后的随机生成数
	 double e=Double.parseDouble(c);//把格式化后的数转回double型
	 double f=Double.parseDouble(d);//把格式化后的数转回double型
	 
	 System.out.println(e);
	 System.out.println(f);
	 double g=e*f //把两个转回double后的的数相乘
	 System.out.println(g);//打印结果

随机生成一个25行4列的两个随机生成小数相乘含答案的程序

//共打印多少行
for (int i = 0; i < 25; i++) {
		List list = new ArrayList();
		//打印多少列
		for (int j = 0; j < 4; j++) {
		//生成一个0-4的随机整数 
			int random1=(int)(Math.random()*4);
			 int random2=(int)(Math.random()*4);
			 String c="";
			 String d="";
			 //判断生成的整数是否是零
			 if(random1!=0 && random2!=0){
				 if(random1==1){
				 //随机生成一个小数
				double a =Math.random()*100;
				//创建数字进行格式化类保留小数后一位
					 DecimalFormat df = new DecimalFormat( "0.0" ); 
					 //格式化后的随机生成数
					 c=df.format(a);
				 }
				 if(random1==2){
				 //随机生成一个小数
					 double a =Math.random()*100;
					 //创建数字进行格式化类保留小数后两位
					 DecimalFormat df = new DecimalFormat( "0.00" );
					 //格式化后的随机生成数 
					 c=df.format(a);
				 }
				 if(random1==3){
					 double a =Math.random()*100;
					 DecimalFormat df = new DecimalFormat( "0.000" );
					 c=df.format(a);
				 }
				 if(random1==4){
					 double a =Math.random()*100;
					 DecimalFormat df = new DecimalFormat( "0.0000" );
					 c=df.format(a);
				 }
				 if(random2==1){
					 double b =Math.random()*100;
					 DecimalFormat df = new DecimalFormat( "0.0" );
					 d=df.format(b);
				 }
				 if(random2==2){
					 double b =Math.random()*100;
					 DecimalFormat df = new DecimalFormat( "0.00" );
					 d=df.format(b);
				 }
				 if(random2==3){
					 double b =Math.random()*100;
					 DecimalFormat df = new DecimalFormat( "0.000" );
					 d=df.format(b);
				 }
				 if(random2==4){
					 double b =Math.random()*100;
					 DecimalFormat df = new DecimalFormat( "0.0000" );
					 d=df.format(b);
				 }	 
			 }else{
				 j--;
				 continue;
			 }
			 double e=Double.parseDouble(c);//把格式化后的数转回double型
			 double f=Double.parseDouble(d);
			 double g=e*f;//两个转回Double的数相乘
			 System.out.print(e+"*"+f+"="+"\t");
			//两个随机生成的整数相加用以确保两个转回Double的数相乘小数点保留几位
			 int ws=random1+random2;
			 if(ws!=0 && ws<=8){//因为最多保留了小数点后四位所以相乘后小数点最多保留8位
				 if(ws==2){
					 DecimalFormat ef =new DecimalFormat("0.00");//创建数字进行格式化类保留小数后两位
					 list.add(ef.format(g));//把E和F相乘的结果保留两位小数后加入LIST列表 
				 }
				 if(ws==3){
					 DecimalFormat ef =new DecimalFormat("0.000");
					 list.add(ef.format(g));
				 }
				 if(ws==4){
					 DecimalFormat ef =new DecimalFormat("0.0000");
					 list.add(ef.format(g));
				 }
				 if(ws==5){
					 DecimalFormat ef =new DecimalFormat("0.00000");
					 list.add(ef.format(g));
				 }
				 if(ws==6){
					 DecimalFormat ef =new DecimalFormat("0.000000");
					 list.add(ef.format(g));
				 }
				 if(ws==7){
					 DecimalFormat ef =new DecimalFormat("0.0000000");
					 list.add(ef.format(g));
				 }
				 if(ws==8){
					 DecimalFormat ef =new DecimalFormat("0.00000000");
					 list.add(ef.format(g));
				 } 
			 }
			 
		}
		System.out.println();
		for (Object object : list) {//输入LIST列表的四个E和F相乘的结果
			System.out.print(object+"\t");
		}
	 System.out.println();
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值