java上机测试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 求1!+2!+3!+4!+……………+n!
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
int i;
long sum=0;
int n=0;
System.out.println("请输入计算范围n:");
Scanner sc = new Scanner(System.in);
n = sc.nextInt();
for(i=1;i<=n;i++){
sum=jiecheng(i)+sum;
}
System.out.println("阶乘求和结果为:"+sum);
}
static long jiecheng(int m){
int j;
int s=1;
for(j=1;j<=m;j++){
s=s*j;
}
System.out.println(j-1+"! 结果为:"+s);
return s;
}
}
2 现有雇员类及其子类经理类,雇员类包含私有成员变量name ,salary;经理类还有自己的私有变量bonus; 雇员类包括方法getname ()和getsalary(),经理类除继承上述方法外,还有自己的setbonus方法,现需创建一个经理并设置其奖金金额,另建立员工数组(经理作为其一个元素),要求打印输出该员工数组的姓名和薪水信息
public class Main{
public static void main(String args[]){
Manager ma=new Manager("李",123.0);
ma.setbonus(1200.0);
System.out.println("姓名: "+ma.getname()+" 工资: "+ma.getsalary()+" 奖金为: "+ma.getbonus());
Employee[] a = new Employee[3] ;
a[0]= new Employee("赵",100.0);
a[1]=new Manager("钱",200.0);
a[2]= new Employee("孙",300.0);
System.out.println("姓名: "+a[0].getname()+" 工资: "+a[0].getsalary());
System.out.println("姓名: "+a[1].getname()+" 工资: "+a[1].getsalary());
System.out.println("姓名: "+a[2].getname()+" 工资: "+a[2].getsalary());
}
}
class Employee{
private String name;
private double salary;
Employee(){}
Employee(String a,double b){
name=a;
salary=b;
}
public String getname(){
return name;
}
public double getsalary(){
return salary;
}
}
class Manager extends Employee{
String name;
double salary;
private double bonus;
Manager(String a,double b){
name=a;
salary=b;
}
public String getname(){
return name;
}
public double getsalary(){
return salary;
}
void setbonus(double c){
bonus=c;
}
double getbonus(){
return bonus;
}
}
3求1+1/2!+1/3!+1/4!+……………+1/9!
public class Test{
public static void main(String[] args){
int i,j=1;
double x=1.0,y=1.0;
double sum=0;
for(i=1;i<=9;i++){
x=jiecheng(i);
y=1.0/x;
sum+=y;
}
System.out.println("1+1/2!+1/3!+1/4!+……………+1/9! = "+sum);
static long jiecheng(int n){
int i;
int s=1;
for(i=1;i<=n;i++){
s=s*i;
}
return s;
}
}
4现有学生类及其子类研究生类,学生类包含私有成员变量name ,credit; 研究生类还有自己的私有变量postcredit; 学生类包括方法getname ()和getcridit(),研究生类除继承上述方法外,还有自己的setpostcredit方法,现需创建一个研究生并设置其postcredit,另建立学生数组(研究生作为其一个元素),要求打印输出该学生数组的姓名和学分信息
5编写代码生成100个位于[20,1000]区间的整数。
6 编写一个方法,接收一个整数数组作为参数,此方法会找出其最大值、最小值和平均值。
要求使用递归方法实现。
7 编写一个三角形类,将求面积,周长,内切圆,外接圆等方法放入类中,并验证。
import java.io.*;
public class Test {
public static void main(String[] args) throws IOException {
sanjiao sj1=new sanjiao();
System.out.println("---调用无参空构造方法---");
System.out.println("请输入三角形的3边长度:");
BufferedReader br1= new BufferedReader(new InputStreamReader(System.in));
String s1=br1.readLine();
sj1.a=Double.parseDouble(s1);
BufferedReader br2= new BufferedReader(new InputStreamReader(System.in));
String s2=br2.readLine();
sj1.b=Double.parseDouble(s2);
BufferedReader br3= new BufferedReader(new InputStreamReader(System.in));
String s3=br3.readLine();
sj1.c=Double.parseDouble(s3);
System.out.println("面积="+sj1.mianji()+" 周长="+sj1.zhouchang()+" 内切圆半径="+sj1.neiqieyuan()+" 外切圆半径="+sj1.waiqieyuang());
System.out.println("-----------------分割线-----------------");
System.out.println("---调用有参构造方法---");
sanjiao sj2=new sanjiao(3.0,4.0,5.0);
System.out.println("边长分别为3、4、5的三角形:"+"面积="+sj2.mianji()+" 周长="+sj2.zhouchang()+" 内切圆半径="+sj2.neiqieyuan()+" 外切圆半径="+sj2.waiqieyuang());
System.out.println();