通过数组实现学生类查询信息打印

本文介绍了一个使用Java实现的学生信息管理程序,通过数组存储学生数据,实现了成绩查询与筛选功能。程序能够显示所有学生的详细信息,统计各科目不及格人数,并支持按姓名模糊搜索学生。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java学习 数组的操作

通过数组对象实现学生类的查询与打印

学生类

package com.chenfujv.homework;

public class Student {
private int xuehao;
private String name;
private int English;
private int math;
private int pe;

public Student(){
super();
}

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 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) {
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) {
this.pe = pe;
}
}
里面包含着一系列get和set方法有参和无参构造方法 通过测试类test进行操作

测试类

import java.util.Scanner;

public class Test {

public static void main(String[] args) {
	// TODO Auto-generated method stub
      Student[] st=new Student[5];//声明对象数组有5个对象
      Student s1=new Student(1173343, "jack chen",45 , 44, 22);
      Student s2=new Student(1173523, "mr wang",25 , 98, 52);
      Student s3=new Student(1174564, "luxi rousi",75 , 88, 88);
      Student s4=new Student(1174568, "xiaozhu peiqi",85 , 41, 65);
      Student s5=new Student(1174567, "xiaozhu qiaozhi",90 , 72, 12);
     
 
      st[0]=s1;
      st[1]=s2;
      st[2]=s3;
      st[3]=s4;
      st[4]=s5;
      System.out.println("现有学生5人");
      
      for(int i=0;i<=st.length-1;i++){
    	  
    	  System.out.println("学号:"+st[i].getXuehao()+",姓名:"+st[i].getName()+",英语成绩:"+st[i].getEnglish()+",数学成绩:"+st[i].getMath()+",体育成绩:"+st[i].getPe());  
      }
      int Engcont=0;
      int Macont=0;
      int Pecont=0;
      System.out.print("英语成绩不合格的有:");
      for(int j=0;j<st.length;j++){
    	  if(st[j].getEnglish()<60){
    		  System.out.print(st[j].getName()+"、");
    		  Engcont++;
    	  } 
      }
      System.out.println("一共"+Engcont+"人");
      
      System.out.print("数学不合格的有:");
      for(int j=0;j<st.length;j++){
    	 if(st[j].getMath()<60){
    		 System.out.print(st[j].getName()+"+");
    		 Macont++;
    	 }       }
      System.out.println("一共"+Macont+"人");
      
      System.out.print("体育不合格的有:");
      for(int j=0;j<st.length;j++){
    	 if(st[j].getPe()<60){
    		 System.out.print(st[j].getName()+"+");
    		 Pecont++;
    	 }       }
      System.out.println("一共"+Pecont+"人");
      
      
      System.out.println("请输入要查找的名字:");
      Scanner sc=new Scanner(System.in);
      String chazhao=sc.next();	
      for(int i=0;i<st.length;i++){
    	  if(st[i].getName().contains(chazhao)){
    		  System.out.println("学号:"+st[i].getXuehao()+",姓名:"+st[i].getName()+",英语成绩:"+st[i].getEnglish()+",数学成绩:"+st[i].getMath()+",体育成绩:"+st[i].getPe());
    	  }
      }

}
}
1.测试类中首先声名数组对象 然后在网数组中存放数据
2.通过for循环遍历数组 查询出不合格成绩的人数 打印控制台
3. 通过.contains()方法查找是否包含子字符串

下面是控制台打印结果:

ss

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值