1.尝试开发一个程序,获取2-32之间(不包括32)的六个偶数,并取得这六个偶数之和
public class Ousum {
public static int GetEvenNum(double num1,double num2){
int s =(int)num1+(int)(Math.random()*(num2-num1));//生成范围内随机数字
if(s%2==0)//求余等于0就是偶数
return s;
else{
return s+1;//求余不等于0就加1
}
}
//判断是否有相同的偶数
public static boolean Isou(int[] num){
for(int i=0;i<num.length;i++){
for(int j=i+1;j<num.length;j++){
if(num[i]==num[j]){
return true; //偶数相同就返回true
}
}
}
return false;//不同返回false
}
public static void main(String[] args) {
boolean b=true;
int sum=0;
int a[]=new int[6];//循环6次
do {
if(b) {
for(int i=0;i<6;i++){
new Ousum();//类初始化
a[i]=Ousum.GetEvenNum(2,32);//调用方法并赋值
sum=sum+a[i];//求和
}
}
b=Isou(a);
}
//每个偶数不相同则运行以下方法
while(b);
System.out.println(b);
for(int i=0;i<a.length;i++){
//new Ousum();//类初始化
//a[i]=Ousum.GetEvenNum(2,32);//调用方法并赋值
sum=sum+a[i];
}
for(int i=0;i<6;i++){
System.out.println("第"+(i+1)+"个偶数为:"+a[i]);
}
System.out.println("总和为:"+sum);
}
}
public class OuShu {
/*
* 获取2到32之间的6个偶数,并且求这6个偶数的和
*/
public static double Getnumber(double num1, double num2) {// 成员函数,获得随机偶数并加参数:起始和结尾数
int sum = 0;
int count = 0;
// 产生一个num1~num2之间的随机数
while (count < 6) {
int tmp = (int) num1 + (int) (Math.random() * (num2 - num1));// random返回的是double型,所以需要强制转换成int
if (tmp != 0 && tmp % 2 == 0) {
System.out.println("2到32之间的偶数(不包括32)" + tmp);
sum = sum + tmp;
count++;
}
}
return sum;
}
public static void main(String[] args) {
System.out.println("和为" + Getnumber(2, 32));
}
}
2.尝试开发一个程序,定义一个求圆面积的方法,其中以圆半径作为参数,并将计算结果保留5位小数
import java.text.DecimalFormat;
import java.util.Scanner;
public class Qiuyuan {
public static String mianji(double rad) {
double area=Math.PI*rad*rad;
DecimalFormat format=new DecimalFormat("#.00000"); //保留五位小数 return format.format(area);
return format.format(area);
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
System.out.println("请输入圆的半径:");
Scanner sc=new Scanner(System.in);
int x=sc.nextInt();
String Srad1=mianji(x);
System.out.println("面积为:"+Srad1);
}
}
3.尝试改写BigDecimalDemo类中的div(double v1,double v2,int b)方法,以不同近似处理模式处理商的精度。
import java.math.BigDecimal;
public class BigDecimalDemo {
@SuppressWarnings("deprecation")
public BigDecimal div(double v1,double v2,int b,int r) {
BigDecimal x1=new BigDecimal(Double.toString(v1));
BigDecimal x2=new BigDecimal(Double.toString(v2));
return(x1.divide(x2, b, r));
}
public static void main(String[] args) {
BigDecimalDemo u=new BigDecimalDemo();
System.out.println(u.div(5.2, 6.3, 10, BigDecimal.ROUND_HALF_UP));
}
}