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()方法查找是否包含子字符串