编写一个Java应用程序。设计一个学生类Students,包括属性有:序号,学号,姓名,性别,专业,三门课程成绩(数学,计算机,英语);包括方法有:求成绩总分,成绩平均分,除序号外各个属性的赋值方法,各个属性值的获取方法等等。说明:每创建一个Students对象,则序号值增1;第一个学生对象的序号值为1。
编写一个主类StudentsDemo.java,利用Students类输入5名同学的三门课成绩,按以下要求输出相关信息:
(1)输入一个学生的学号或者姓名,输出该学生的所有信息。
(2)数学课程最高分同学序号、学号、姓名和课程分数
(3)总分最高/最低同学序号、学号、姓名和课程分数
(4)有没有这样的学生存在:总分大于所有学生的平均成绩,但是至少有一门课不及格(低于60分)。若有,按行输出这些学生的全部信息;若没有,不输出任何信息。
编写一个主类StudentsDemo.java,利用Students类输入5名同学的三门课成绩,按以下要求输出相关信息:
(1)输入一个学生的学号或者姓名,输出该学生的所有信息。
(2)数学课程最高分同学序号、学号、姓名和课程分数
(3)总分最高/最低同学序号、学号、姓名和课程分数
(4)有没有这样的学生存在:总分大于所有学生的平均成绩,但是至少有一门课不及格(低于60分)。若有,按行输出这些学生的全部信息;若没有,不输出任何信息。
{
private static Integer i = 1;
public Students(){
//初始化时序号默认+1
studentNum = i++;
}
//序号,初始化值为0
private Integer studentNum; //学号
private String studentNo; //姓名
private String studentName; //性别
private String studentGender; //专业
private String studentSpecialty; //数学成绩
private Double mathScores; //计算机成绩
private Double computerScores; //英语成绩
private Double englishScores; public Integer getStudentNum() {
return studentNum;
} public String getStudentNo() {
return studentNo;
} public void setStudentNo(String studentNo) {
this.studentNo = studentNo;
} public String getStudentName() {
return studentName;
} public void setStudentName(String studentName) {
this.studentName = studentName;
} public String getStudentGender() {
return studentGender;
} public void setStudentGender(String studentGender) {
this.studentGender = studentGender;
} public String getStudentSpecialty() {
return studentSpecialty;
} public void setStudentSpecialty(String studentSpecialty) {
this.studentSpecialty = studentSpecialty;
} public Double getMathScores() {
return mathScores;
} public void setMathScores(Double mathScores) {
this.mathScores = mathScores;
} public Double getComputerScores() {
return computerScores;
} public void setComputerScores(Double computerScores) {
this.computerScores = computerScores;
} public Double getEnglishScores() {
return englishScores;
} public void setEnglishScores(Double englishScores) {
this.englishScores = englishScores;
}
public Double getAllScores(){
return englishScores+computerScores+mathScores;
}
public Double getAverageScores(){
return (englishScores+computerScores+mathScores)/3;
} @Override
public String toString() {
return "序号=" + studentNum + ", 学号=" + studentNo + ", 姓名=" + studentName
+ ", 性别=" + studentGender + ", 专业=" + studentSpecialty + ", 数学成绩="
+ mathScores + ", 计算机成绩=" + computerScores + ", 英语成绩=" + englishScores +
", 总分=" + getAllScores() +", 平均分=" + getAverageScores() +"]";
}
}
package com.ll.person;import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;public class StudentsDemo
{
public static void main(String[] args) {
List<Students> list = new ArrayList<>();
for (int i=0;i<5;i++) {
list.add(new Students());
}
Students s1 = list.get(0);
s1.setStudentNo("S001");
s1.setStudentName("张三");
s1.setStudentGender("男");
s1.setStudentSpecialty("应用数学");
s1.setMathScores(100.0);
s1.setEnglishScores(50.0);
s1.setComputerScores(90.0);
//==========================
Students s2 = list.get(1);
s2.setStudentNo("J003");
s2.setStudentName("李四");
s2.setStudentGender("男");
s2.setStudentSpecialty("计算机");
s2.setMathScores(90.0);
s2.setEnglishScores(90.0);
s2.setComputerScores(90.0);
//===========================
Students s3 = list.get(2);
s3.setStudentNo("Y002");
s3.setStudentName("小红");
s3.setStudentGender("女");
s3.setStudentSpecialty("英语");
s3.setMathScores(70.0);
s3.setEnglishScores(100.0);
s3.setComputerScores(80.0);
//===========================
Students s4 = list.get(3);
s4.setStudentNo("Y002");
s4.setStudentName("小红");
s4.setStudentGender("女");
s4.setStudentSpecialty("英语");
s4.setMathScores(70.0);
s4.setEnglishScores(100.0);
s4.setComputerScores(80.0);
//===========================
Students s5 = list.get(4);
s5.setStudentNo("S002");
s5.setStudentName("小明");
s5.setStudentGender("男");
s5.setStudentSpecialty("数学");
s5.setMathScores(70.0);
s5.setEnglishScores(70.0);
s5.setComputerScores(80.0);
//===========================
//输入一个学生的学号或者姓名,输出该学生的所有信息
/*Scanner s = new Scanner(System.in);
System.out.println("请输入一个学生的学号或者姓名:");
String str = s.nextLine();
Students outSt = getStudentByNameOrNo(str, list);
System.out.println(outSt);*/
//数学课程最高分同学序号、学号、姓名和课程分数
/* System.out.println("数学课程最高分同学序号、学号、姓名和课程分数");
Students maxMath = getMaxMath(list);
System.out.println("序号:"+maxMath.getStudentNum()+",学号:"+maxMath.getStudentNo()+",姓名:"+maxMath.getStudentName()+",课程分数:"+maxMath.getMathScores()+"。");*/ //总分最高/最低同学序号、学号、姓名和课程分数
System.out.println("总分最高/最低同学序号、学号、姓名和课程分数");
Students maxAllScores = getMaxAllScores(list);
System.out.println("序号:"+maxAllScores.getStudentNum()+",学号:"+maxAllScores.getStudentNo()+",姓名:"+maxAllScores.getStudentName()+",课程分数:"+maxAllScores.getMathScores()+"。");
}
//通过姓名或者学号获取学生所有信息
public static Students getStudentByNameOrNo(String NameOrNo,List<Students> list){
for (Students st : list) {
if (NameOrNo.equals(st.getStudentName()) || NameOrNo.equals(st.getStudentNo())) {
return st;
}
}
return null;
}
//总分最高/最低同学序号、学号、姓名和课程分数
public static Students getMaxAllScores(List<Students> list){
Students maxAllScores = new Students();
maxAllScores.setComputerScores(0.0);
maxAllScores.setEnglishScores(0.0);
maxAllScores.setMathScores(0.0);
for (Students st : list) {
if (st.getAllScores()>maxAllScores.getAllScores()) {
maxAllScores = st;
}
}
return maxAllScores;
}
//数学课程最高分同学序号、学号、姓名和课程分数
public static Students getMaxMath(List<Students> list){
Students maxMath = new Students();
maxMath.setMathScores(0.0);
for (Students st : list) {
if (st.getMathScores()>maxMath.getMathScores()) {
maxMath = st;
}
}
return maxMath;
}
}
import java.util.Scanner;// 编写一个主类StudentsDemo.java,利用Students类输入5名同学的三门课成绩,按以下要求输出相关信息:
// 说明:每创建一个Students对象,则序号值增1;第一个学生对象的序号值为1。
public class StudentsDemo {
public static void main(String[] args) {
// 利用Students类输入5名同学的三门课成绩,按以下要求输出相关信息
// 学号,姓名,性别,专业,三门课程成绩(数学,计算机,英语)
Students student1 = new Students(1, "1", "张一", "男", "计算机", 80, 90, 98);
Students student2 = new Students(2, "2", "张二", "女", "计算机", 57, 80, 79);
Students student3 = new Students(3, "3", "张四", "女", "计算机", 70, 50, 98);
Students student4 = new Students(4, "4", "张三", "男", "计算机", 30, 90, 98);
Students student5 = new Students(5, "5", "张五", "男", "计算机", 90, 90, 38);
ArrayList<Students> list = new ArrayList<>();
list.add(student1);
list.add(student2);
list.add(student3);
list.add(student4);
list.add(student5);
// (2)数学课程最高分同学序号、学号、姓名和课程分数
//用来存数学成绩最好的值的
// students1(list);
//用来比较数学最大值
int max = student1.getMath();
// students2(list, max);
// (3)总分最高/最低同学序号、学号、姓名和课程分数
int max1 = students3(student1, list);
// (4)有没有这样的学生存在:总分大于所有学生的平均成绩,但是至少有一门课不及格(低于60分)。若有,按行输出这些学生的全部信息;若没有,不输出任何信息。
for (Students st : list) {
if (max1 == st.sum(st.getMath(), st.getYingYu(), st.getJiSuanJi())) {
if (st.getMath() < 60 || st.getYingYu() < 60 || st.getJiSuanJi() < 60) {
System.out.println(st.xuHao + " " + st.getXueHao() + " " + st.getXingMing() + " " + st.getXingBie() + " " + st.getZhuanYe() + " " + st.getMath() + " " + st.getYingYu() + " " + st.getJiSuanJi());
}
}
} } // (3)总分最高/最低同学序号、学号、姓名和课程分数 然后返回总分最高
private static int students3(Students student1, ArrayList<Students> list) {
int pmax = student1.sum(student1.getMath(), student1.getYingYu(), student1.getJiSuanJi());
int pmin = student1.sum(student1.getMath(), student1.getYingYu(), student1.getJiSuanJi());
//总分最高
for (Students st : list) {
if (st.sum(st.getMath(), st.getYingYu(), st.getJiSuanJi()) > pmax) {
pmax = st.sum(st.getMath(), st.getYingYu(), st.getJiSuanJi());
}
if (st.sum(st.getMath(), st.getYingYu(), st.getJiSuanJi()) < pmin) {
pmin = st.sum(st.getMath(), st.getYingYu(), st.getJiSuanJi());
}
}
System.out.println("总分最高同学序号、学号、姓名和课程分数为:");
for (Students st : list) {
if (st.sum(st.getMath(), st.getYingYu(), st.getJiSuanJi()) == pmax) {
System.out.println(st.xuHao + " " + st.getXueHao() + " " + st.getXingMing() + " " + st.getMath() + " " + st.getJiSuanJi() + " " + st.getYingYu());
}
}
System.out.println("总分最低同学序号、学号、姓名和课程分数为:");
for (Students st : list) {
if (st.sum(st.getMath(), st.getYingYu(), st.getJiSuanJi()) == pmin) {
System.out.println(st.xuHao + " " + st.getXueHao() + " " + st.getXingMing() + " " + st.getMath() + " " + st.getJiSuanJi() + " " + st.getYingYu());
}
}
return pmax;
} //(3)总分最高/最低同学序号、学号、姓名和课程分数
// (2)数学课程最高分同学序号、学号、姓名和课程分数
private static void students2(ArrayList<Students> list, int max) {
for (Students st : list) {
if (st.getMath() > max) {
max = st.getMath();
}
} System.out.print("数学课程最高分同学序号、学号、姓名和课程分数是:");
for (Students st : list) {
if (st.getMath() == max) {
System.out.println(st.xuHao + " " + st.getXueHao() + " " + st.getXingMing() + " " + st.getMath() + " " + st.getJiSuanJi() + " " + st.getYingYu());
}
}
} //(1)输入一个学生的学号或者姓名,输出该学生的所有信息。
private static void students1(ArrayList<Students> list) {
Scanner sc = new Scanner(System.in);
// 输入一个学生的学号或姓名
System.out.println("输入一个学生的学号或姓名");
String xue = sc.next();
for (Students o : list) {
if (xue.equals(o.getXingMing()) || (xue.equals(o.getXueHao()))) {
// 学号,姓名,性别,专业,三门课程成绩(数学,计算机,英语)
System.out.println(o.xuHao + " " + o.getXueHao() + " " + o.getXingMing() + " " + o.getXingBie() + " " + o.getZhuanYe() + " " + o.getMath() + " " + o.getYingYu() + " " + o.getJiSuanJi());
}
}
}
}package com.itheima.StudentsDame;
//编写一个Java应用程序。设计一个学生类Students,包括属性有:序号,学号,姓名,性别,专业,三门课程成绩(数学,计算机,英语);
// 包括方法有:求成绩总分,成绩平均分,除序号外各个属性的赋值方法,各个属性值的获取方法等等。public class Students {
int xuHao;
private String xueHao;
private String xingMing;
private String xingBie;
private String zhuanYe;
private int math;
private int jiSuanJi;
private int yingYu; public Students() {
} public Students(int xuHao,String xueHao, String xingMing, String xingBie, String zhuanYe, int math, int jiSuanJi, int yingYu) {
this.xueHao=xueHao;
this.xuHao=xuHao;
this.xingMing = xingMing;
this.xingBie = xingBie;
this.zhuanYe = zhuanYe;
this.math = math;
this.jiSuanJi = jiSuanJi;
this.yingYu = yingYu;
} public String getXueHao() {
return xueHao;
} public void setXueHao(String xueHao) {
this.xueHao = xueHao;
} public String getXingMing() {
return xingMing;
} public void setXingMing(String xingMing) {
this.xingMing = xingMing;
} public String getXingBie() {
return xingBie;
} public void setXingBie(String xingBie) {
this.xingBie = xingBie;
} public String getZhuanYe() {
return zhuanYe;
} public void setZhuanYe(String zhuanYe) {
this.zhuanYe = zhuanYe;
} public int getMath() {
return math;
} public void setMath(int math) {
this.math = math;
} public int getJiSuanJi() {
return jiSuanJi;
} public void setJiSuanJi(int jiSuanJi) {
this.jiSuanJi = jiSuanJi;
} public int getYingYu() {
return yingYu;
} public void setYingYu(int yingYu) {
this.yingYu = yingYu;
}
//求总成绩;
public int sum(int math, int jiSuanJi, int yingYu) {
return math+jiSuanJi+yingYu;
}
//求平均分
public int ping(int math , int jiSuanJi,int yingYu)
{
return sum(math,jiSuanJi,yingYu)/3;
}
}
第二:数据库新建,主键递增,数据库函数查询你随便搜下,ssh demo,ssm demo之类的,修改下数据库信息,
在搜下数据库分组查询,平均数查询,之类的,立马就出来了,给你代码什么的,没有必要。
这种问题都要问的话,估计环境变量,开发环境,代码导入之类的的问题你解决起来更难