栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

编写三个系别的学生类:英语系,计算机系,文学系(要求通过继承学生类) [选做题] (java)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

编写三个系别的学生类:英语系,计算机系,文学系(要求通过继承学生类) [选做题] (java)

题目

 6.1各系有以下成绩: 

• 英语系: 演讲,期末考试,期中考试; 

• 计算机系:操作能力,英语写作,期中考试,期末考试; 

• 文学系: 演讲,作品,期末考试,期中考试; 

• 6.2各系总分评测标准: 

• 英语系: 演讲 50% 

• 期末考试 25% 

• 期中考试 25% 

• 计算机系: 操作能力 40% 

• 英语写作 20% 

• 期末考试 20% 

• 期中考试 20% 

• 文学系: 演讲 35% 

• 作品 35% 

• 期末考试 15% 

• 期中考试 15% 

• 6.3定义一个可容纳5个学生的学生类数组,使用随机数给该数组装入各系学生的对象,然后按如下格式输出数组中的信息: 

• 学号:XXXXXXXX 姓名:XXX 性别:X 年龄:XX 综合成绩:XX

学生类

String name;
	int studentnum;
	String sex;
	int age;
	student(String name,int studentnum,String sex,int age){
		this.name=name;
		this.studentnum=studentnum;
		this.sex=sex;
		this.age=age;
	}
	double achievement() {
		return 0;
	}

英语系子类

package studentachievement;
import java.text.DecimalFormat;

public class Englishstudent extends student{
	DecimalFormat df=new DecimalFormat("0.00");
	double lecture;
	double fexam;
	double mexam;
	Englishstudent(String name,int studentnum,String sex,int age,double lecture,double fexam,double mexam){
		super(name,studentnum,sex,age);
		this.lecture=lecture;
		this.fexam=fexam;
		this.mexam=mexam;
	}
	double achievement() {
		System.out.println("学号 "+studentnum+" 姓名 "+name+" 性别 "+sex+" 年龄 "+age+" 综合成绩 "+df.format((lecture/2)+(fexam/4)+(mexam/4)));
		return (lecture/2)+(fexam/4)+(mexam/4);
	}
}

计算机系子类

package studentachievement;
import java.text.DecimalFormat;

public class computerstudent extends student{
	DecimalFormat df=new DecimalFormat("0.00");
	double operational;
	double Englishwriting;
	double fexam;
	double mexam;
	computerstudent(String name,int studentnum,String sex,int age,double operational,double Englishwriting,double fexam,double mexam){
		super(name,studentnum,sex,age);
		this.operational=operational;
		this.Englishwriting=Englishwriting;
		this.fexam=fexam;
		this.mexam=mexam;
	}
	double achievement() {
		System.out.println("学号 "+studentnum+" 姓名 "+name+" 性别 "+sex+" 年龄 "+age+" 综合成绩 "+df.format((operational*4/10)+(Englishwriting/5)+(fexam/5)+(mexam/5)));
		return (operational*4/10)+(Englishwriting/5)+(fexam/5)+(mexam/5);
	}
}

文学系子类

package studentachievement;
import java.text.DecimalFormat;

public class departmentstudent extends student{
	DecimalFormat df=new DecimalFormat("0.00");
	double lecture;
	double works;
	double fexam;
	double mexam;
	departmentstudent(String name,int studentnum,String sex,int age,double lecture,double works,double fexam,double mexam){
		super(name,studentnum,sex,age);
		this.lecture=lecture;
		this.works=works;
		this.fexam=fexam;
		this.mexam=mexam;
	}
	double achievement() {
		System.out.println("学号 "+studentnum+" 姓名 "+name+" 性别 "+sex+" 年龄 "+age+" 综合成绩 "+df.format((lecture*35/100)+(works*35/100)+(fexam*15/100)+(mexam*15/100)));
		return (lecture*35/100)+(works*35/100)+(fexam*15/100)+(mexam*15/100);
	}
	
}

测试类

package studentachievement;
import java.util.Random;

public class test {
	public static void main(String[] args) {
		Random r = new Random();
		String sex;
		student [] arr = new student [5];
		for(int i=0;i<5;i++) {
			if(r.nextInt(2)==0) {
				sex="女";
			}else {
				sex="男";
			}
			int n=r.nextInt(3);//0为英语系,1为计算机系,2为文学系
			if(n==0) {
				arr[i]= new Englishstudent("张三", 200450800+i, sex, 18+r.nextInt(5),50+r.nextInt(51) ,50+r.nextInt(51),50+r.nextInt(51));
			}
			if(n==1) {
				arr[i]= new computerstudent("赵四", 200450800+i, sex, 18+r.nextInt(5), 50+r.nextInt(51) ,50+r.nextInt(51),50+r.nextInt(51),50+r.nextInt(51));
			}
			if(n==2) {
				arr[i]= new departmentstudent("王五", 200450800+i, sex, 18+r.nextInt(5), 50+r.nextInt(51) ,50+r.nextInt(51),50+r.nextInt(51),50+r.nextInt(51));
			}
		}
		for(int i=0;i<5;i++) {
			arr[i].achievement();
		}
	}
}

主要就是性别和系别都是用随机数生成的这块得想到其他就单纯的分子类写

其实我想写就是名字也是随机生成的但是感觉好麻烦就不想写了写一个名字的数组然后随机数生成之后把那个数组里面已经用过的名字删除这种?好麻烦

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/838187.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号