Java---根据姓查找学生的信息

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个
  • 3
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值