java基础:类、对象和数组的使用

java基础:类、对象和数组的使用

定义一个学生类用来存储学生的信息(包括:学号,姓名,英语成绩、高数成绩、体育成绩),在main方法中定义一个数组存储5名学生的信息。
要求:
(1)按名字查询并输出某位同学成绩,要求能够实现部分匹配的查找,例如:希望查找John, 可查找到所有名字包含John 的人,例如: John Brown, John Smith都能得到(可以使用字符串类String的contains方法,来判断某个字符串中是否包含某个子串)。
(2)查询并输出所有科目不及格的人数及名单。。
输出格式为:
英语成绩不及格的有:张三、李四、王五,总共有3人
高数成绩不及格的有:张三,总共有1人
体育成绩不及格的有:张三丰、张无忌,总共有2人提示:。
(1)定义的学生类:包括属性、属性的getter、setter 方法。。
(2)类中其他方法可自由发挥,比如打印学生信息的方法(如print(或toString())
(3)自定义包含main方法的类,类中定义2个方法,分别用来实现按名字查询成绩、查找不及格人数并打印不及格名单的功能。

package job1;
public class student {
 private String sno;
 private String name;
 private int english;
 private int math;
 private int sports;
 public student(String sno,String name,int english,int math,int sports) {
  this.sno=sno;
  this.name=name;
  this.english=english;
  this.math=math;
  this.sports=sports;
 }
 public String getSno() {
  return sno;
 }
 public void setSno(String sno) {
  this.sno = sno;
 }
 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 getSports() {
  return sports;
 }
 public void setSports(int sports) {
  this.sports = sports;
 }
 public static void print(student student) {
  System.out.println("学号:"+student.sno+" "+"姓名:"+student.name+" "+"英语成绩:"+student.english+" "+"高数成绩:"+
 student.math+" "+"体育成绩:"+student.sports);
 }
}
package job1;
import java.util.ArrayList;
public class test {
 static ArrayList<student> students=new ArrayList<>();
 public static void search(String str){
  //通过关键字模糊查询
  System.out.println("搜索名字中带有"+str+"的学生信息如下:");
  for(int i=0;i<students.size();i++){
   if (students.get(i).getName().contains(str)) {
    student.print(students.get(i));
   }
  }
 }
 public static void fail() {
  int sum1=0;
  int sum2=0;
  int sum3=0;
  System.out.print("英语成绩不及格的有:");
  for (int i = 0; i < students.size(); i++) {
   if(students.get(i).getEnglish()<60){
    System.out.print(students.get(i).getName()+"\t");
    sum1++;
   }
  }
  System.out.println("总共"+sum1+"人");
  System.out.print("数学成绩不及格的有:");
  for (int i = 0; i < students.size(); i++) {
   if(students.get(i).getMath()<60){
    System.out.print(students.get(i).getName()+"\t");
    sum2++;
   }
  }
  System.out.println("总共"+sum2+"人");
  System.out.print("体育成绩不及格的有:");
  for (int i = 0; i < students.size(); i++) {
   if(students.get(i).getMath()<60){
    System.out.print(students.get(i).getName()+"\t");
    sum3++;
   }
  }
  System.out.println("总共"+sum3+"人");
 }
 public static void main(String[] args) {
  student student1=new student("12","周星星",12,12,12);
  student student2=new student("13","John Brown",62,12,12);
  student student3=new student("14","John Smith",62,12,12);
  student student4=new student("15","刘星星",12,12,12);
  student student5=new student("16","李星星",12,12,12);
  students.add(student1);
  students.add(student2);
  students.add(student3);
  students.add(student4);
  students.add(student5);
  fail();
  search("J");
 }
}

运行截图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值