Student类
public class Student {
/*
* 最好是私有属性
*/
int xuehao;//学号
String name;//姓名
int english;//英语成绩
int math;//高数成绩
int PE;//体育成绩
public int getXuehao() {
return xuehao;
}
public void setXuehao(int xuehao) {
this.xuehao = xuehao;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getEnglish() {
return english;
}
public void setEnglish(int english) {
this.english = english;
}
public int getMath() {
return math;
}
public void setMath(int math) {
this.math = math;
}
public int getPE() {
return PE;
}
public void setPE(int pE) {
PE = pE;
}
/*构造方法
* 作用:初始化
*
*
**/
public Student(int xuehao,String name,int english,int Math, int PE){
this.xuehao=xuehao;
this.name=name;
this.english=english;
this.math=Math;
this.PE=PE;
}
/*
* 打印学生信息的方法
*/
public void Print(){
System.out.println("我的名字是:"+name+" "+
"我的学号是:"+xuehao+" "+
"我的英语成绩是:"+english+" "+
"我的数学成绩是:"+math+" "+
"我的体育成绩是:"+PE);
}
}
学生功能
public class StudentFunction {
int a,b,c;
/*
* 功能1:根据学生名字查询成绩
*/
public void select(Student students[],String s){
for(int i=0;i<students.length;i++ ){
if(students[i].name.contains(s)){
students[i].Print();
}
}
}
/*
* 功能二:输出各科不及格的学生名单
*/
//英语不及格名单
public void scores1(Student students[]){
System.out.print("英语不及格的名单:");
for(int i=0;i<=students.length-1;i++){//遍历数组
if(students[i].english<60){//成绩小于60
System.out.print(students[i].name+"\t ");//输出不及格的名字
a+=1;
}
}
System.out.println("总共有"+a+"个");
}
//高数不及格名单
public void scores2(Student students[]){
System.out.print("高数不及格的名单:");
for(int i=0;i<=students.length-1;i++){
if(students[i].math<60){
System.out.print(students[i].name+"\t ");
b+=1;
}
}
System.out.println("总共有"+b+"个");
}
//体育不及格名单
public void scores3(Student students[]){
System.out.print("体育不及格的名单:");
for(int i=0;i<=students.length-1;i++){
if(students[i].PE<60){
System.out.print(students[i].name+"\t ");
c+=1;
}
}
System.out.println("总共有"+c+"个");
}
}
测试类
public class TestStudent {
public static void main(String[] args) {
// TODO Auto-generated method stub
/*
* 实例化对象,创建学生对象和学生功能的对象
*/
StudentFunction s1=new StudentFunction();
Student 张三=new Student( 101, "张三", 59,40, 85);
Student 李四=new Student( 102, "李四", 58,80, 85);
Student 王五=new Student( 103, "王五", 57,80, 85);
Student 张三丰=new Student( 104, "张三丰", 98,80, 35);
Student 张无忌=new Student( 105, "张无忌", 99,80, 55);
//实例化对象数组,使用setter方法后者构造方法
Student[] students=new Student[5];//创建对象数组
/*
* 将学生的信息放进对象数组
*/
students[0]=张三;
students[1]=李四;
students[2]=王五;
students[3]=张三丰;
students[4]=张无忌;
/*
* 打印学生信息,遍历数组
*/
System.out.println("功能一:遍历数组");
for(int i=0;i<=students.length-1;i++){
students[i].Print();
}
/*
* 根据姓名查找学生信息使用contains方法
*/
System.out.println("功能二:根据姓名查找信息:");
s1.select(students ,"张");
s1.select(students ,"李");
s1.select(students ,"王");
/*
* 打印科目不及格的名单
*/
System.out.println("功能三:各科目不及格的名单");
System.out.println("查询并输出所有科目不及格的人数名单:");
s1.scores1(students);
s1.scores2(students);
s1.scores3(students);
}
}
控制台输出
功能一:遍历数组
我的名字是:张三 我的学号是:101 我的英语成绩是:59 我的数学成绩是:40 我的体育成绩是:85
我的名字是:李四 我的学号是:102 我的英语成绩是:58 我的数学成绩是:80 我的体育成绩是:85
我的名字是:王五 我的学号是:103 我的英语成绩是:57 我的数学成绩是:80 我的体育成绩是:85
我的名字是:张三丰 我的学号是:104 我的英语成绩是:98 我的数学成绩是:80 我的体育成绩是:35
我的名字是:张无忌 我的学号是:105 我的英语成绩是:99 我的数学成绩是:80 我的体育成绩是:55
功能二:根据姓名查找信息:
我的名字是:张三 我的学号是:101 我的英语成绩是:59 我的数学成绩是:40 我的体育成绩是:85
我的名字是:张三丰 我的学号是:104 我的英语成绩是:98 我的数学成绩是:80 我的体育成绩是:35
我的名字是:张无忌 我的学号是:105 我的英语成绩是:99 我的数学成绩是:80 我的体育成绩是:55
我的名字是:李四 我的学号是:102 我的英语成绩是:58 我的数学成绩是:80 我的体育成绩是:85
我的名字是:王五 我的学号是:103 我的英语成绩是:57 我的数学成绩是:80 我的体育成绩是:85
功能三:各科目不及格的名单
查询并输出所有科目不及格的人数名单:
英语不及格的名单:张三 李四 王五 总共有3个
高数不及格的名单:张三 总共有1个
体育不及格的名单:张三丰 张无忌 总共有2个