一、题目

编写一个学生类Student,属性包括:学号、姓名、年龄和成绩,数据由键盘进行输入且数据自拟,实现如下操作:
1、所有属性的getter和setter方法以及类的有参和无参构造方法;
2、将所有输入的学生信息打印出来;
3、可以通过学号查找学生信息;
4、显示成绩最高和成绩最低的学生信息;
5、对学生成绩进行升序和降序排列;
6、将所有学生年龄增加一岁;
7、显示所有年龄大于20岁的学生信息。

二、实验代码

package fighting;
import java.util.Scanner;
public class fighting
{public static class Student{ //以public class开头的内部类为动态的,而主程序以public static class开头//在java中,类中的静态方法不能直接调用动态方法,只有将某个内部类修饰为静态类,能够在静态类中调用该类的成员变量与成员方法。即此处应改为public static class Studentint num;//学号String name;//姓名int age;//年龄int score;//成绩public Student()//空参构造{super();}public Student(int num,String name,int age,int score) //有参构造{this.num=num;this.name=name;this.age=age;this.score=score;}//各属性的getter和setter方法public int getNum() {return num;}public void setNum(int num) {this.num = num;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public int getScore() {return score;}public void setScore(int score) {this.score = score;}//数组中顺序显示所有学生信息void Print(Student[] array)//Student[] array为对象数组,其在使用时必须逐一实例化{for(int i=0;i<array.length;i++){System.out.println("学号:"+array[i].num+"  姓名:"+array[i].name+"  年龄:"+array[i].age+"  成绩:"+array[i].score);}}//通过学生学号查找学生信息void Find(int num,Student[] array)//参数为num和学生类数组array  {for(int i=0;i<array.length;i++){if(num==array[i].getNum()){System.out.println("学号:"+array[i].num+"  姓名:"+array[i].name+"  年龄:"+array[i].age+"  成绩:"+array[i].score);}}}//根据成绩最高和成绩最低学生信息void Score(Student[] array){for(int i=0;i<array.length;i++){int max=array[0].score;int min=array[0].score;if(array[i].score>max){max=array[i].score;System.out.println("学号:"+array[i].num+"  姓名:"+array[i].name+"  年龄:"+array[i].age+"  成绩:"+array[i].score);}if(array[i].score<min){min=array[i].score;System.out.println("学号:"+array[i].num+"  姓名:"+array[i].name+"  年龄:"+array[i].age+"  成绩:"+array[i].score);}}}//按学生成绩降序排列void ScoreLow(Student[] array){for(int i=0;i<array.length;i++){for(int j=i+1;j<array.length;j++) {if(array[i].getScore()<array[j].getScore()){Student temp=null;//对象的空值用null表示temp=array[i];array[i]=array[j];array[j]=temp;   }}System.out.println("学号:"+array[i].num+"  姓名:"+array[i].name+"  年龄:"+array[i].age+"  成绩:"+array[i].score);}}//按学生成绩升序排列void ScoreHigh(Student[] array){for(int i=0;i<array.length;i++){for(int j=i+1;j<array.length;j++) {if(array[i].getScore()>array[j].getScore()){Student temp=null;//对象的空值用null表示temp=array[i];array[i]=array[j];array[j]=temp;    }}System.out.println("学号:"+array[i].num+"  姓名:"+array[i].name+"  年龄:"+array[i].age+"  成绩:"+array[i].score);}}//所有学生年龄加一岁void Add(Student[] array){for(int i=0;i<array.length;i++){array[i].age+=1;}}//显示所有年龄大于20岁的学生名单void Check(Student[] array){for(int i=0;i<array.length;i++){if(array[i].age>20){System.out.println("学号:"+array[i].num+"  姓名:"+array[i].name+"  年龄:"+array[i].age);}}}
}public static void main(String[] args){ //法一:手动输入学生信息Scanner sc=new Scanner(System.in);System.out.println("请输入学生人数:");int x=sc.nextInt();Student[] array=new Student[x];for(int i=0;i<array.length;i++){array[i]=new Student();//若在编写一个java程序时没有添加无参构造方法,编译器会自动添加无参构造方法;//但是若编写时添加了有参构造方法而未添加无参构造方法,则编译器只认有参构造方法而不会默认添加无参构造方法,需要注意的是如果需要使用无参构造方法,一定要在类中里面添加System.out.println("请输入第"+(i+1)+"个学生的学号");int num=sc.nextInt();//输入学号array[i].setNum(num);System.out.println("请输入第"+(i+1)+"个学生的姓名");String name=sc.next();//输入姓名array[i].setName(name);System.out.println("请输入第"+(i+1)+"个学生的年龄");int age=sc.nextInt();//输入年龄array[i].setAge(age);System.out.println("请输入第"+(i+1)+"个学生的成绩");int score=sc.nextInt();//输入成绩array[i].setScore(score);}System.out.println("所有学生初始信息如下:");array[1].Print(array);System.out.println("----------------------------------");System.out.println("学号为201801学生信息如下:");array[1].Find(201801, array);System.out.println("----------------------------------");System.out.println("成绩最高和成绩最低的学生信息如下:");array[1].ScoreHigh(array);System.out.println("----------------------------------");System.out.println("成绩降序排列:");array[1].ScoreLow(array);System.out.println("----------------------------------");System.out.println("成绩升序排列:");array[1].ScoreLow(array);System.out.println("----------------------------------");System.out.println("所有学生年龄加一后信息如下:");array[1].Add(array);array[1].Print(array);System.out.println("----------------------------------");System.out.println("年龄大于20的学生名单:");array[1].Check(array);System.out.println("----------------------------------");/*  法二:直接在程序设置学生信息* Student s1=new Student(20180001,"张三",19,87);* Student s2=new Student(20180002,"李四",20,65);* Student s3=new Student(20180003,"王五",21,99);* Student[] array= {s1,s2,s3};* System.out.println("所有学生初始信息如下:");* s1.Print(array);* System.out.println("----------------------------------");* System.out.println("学号为201801学生信息如下:");* s1.Find(201801, array);* System.out.println("----------------------------------");*  System.out.println("成绩最高和成绩最低的学生信息如下:");*  s1.ScoreHigh(array);*  System.out.println("----------------------------------");*  System.out.println("成绩降序排列:");*  s1.ScoreLow(array);*  System.out.println("----------------------------------");*  System.out.println("成绩升序排列:");*  s1.ScoreLow(array);*  System.out.println("----------------------------------");*  System.out.println("所有学生年龄加一后信息如下:");*  s1.Add(array);*  s1.Print(array);*  System.out.println("----------------------------------");*  System.out.println("年龄大于20的学生名单:");*  s1.Check(array);*  System.out.println("----------------------------------");*/}
}

三、运行结果

Java编程之学生类相关推荐

  1. java 设计作业——学生类的基本练习

    设计要求: 建立一个学生类,有姓名.学号.3门课成绩.总分等信息,能输入输出学生数据,并能对总分进行排序,打印名次. 思路:老师给的思路全部都封装在了一个类中,我写的则分成了两个类,可能一些方法没有写 ...

  2. java编写一个学生类和教师类,Java创建一个学生类

    第1个回答 2017-10-07 Student.java类:public class Student { private String name; private String className; ...

  3. java编程输入学生成绩 判断最高分,java代码初学者适用,输入学生成绩,符合要求的过~~~~注意数据范围...

    总结:没有基础,我从点滴开始, package com.aaa; import java.util.Scanner; //输入"repate "次数,输入学生成绩,低于60分,输出 ...

  4. 1.4 Java创建一个学生类

    创建一个表示学生的实体类 Student,其中有学生姓名.性别和年龄信息.要求使用属性来表示学生信息,最终编写测试代码. 首先定义一个名为 Student 的类,代码如下: public class ...

  5. Java创建一个学生类

    创建一个表示学生的实体类 Student,其中有学生姓名.性别和年龄信息.要求使用属性来表示学生信息,最终编写测试代码. 首先定义一个名为 Student 的类,代码如下: public class ...

  6. java编写一个学生类和教师类_JAVA:1、编写一个学生类,类名为Student,包含如下成员:...

    1.编写一个学生类,类名为Student,包含如下成员:成员变量:1)变量名:name:类型:String:访问权限:private2)变量名:ID:类型:String:访问权限:private3) ...

  7. java教师和学生类的继承代码_Java用继承和实现完成学生,教师和家长三个类

    展开全部 我给你简单的代62616964757a686964616fe4b893e5b19e31333335313761码  那些行为的话 把通用的写在person中  个别的写在个别类中 如: 学生 ...

  8. java编程定义一个表示学生信息的类student_要求如下_用JAVA定义一个学生类Student来表示学生信息,学生类中包含成员有学号(id)、姓名(name)、年龄和成绩...

    展开全部 如下所示: public class Student { private int sNo; //学号 private String name; //姓名 private String sex ...

  9. java教师和学生类的继承代码_继承学生类java

    计算机科学与技术专业课程 课程简介 1.数字逻辑电路: "数字逻辑"是计算机专业本科生的一门主要课程,具有自身的理论体系和很强的实践性.它是计算机组成原理的主要先导课程之一,是计算 ...

最新文章

  1. linux vi编辑 整理
  2. 2022-2028年中国硝化棉行业市场研究及前瞻分析报告
  3. python学习笔记——Thread常用方法
  4. 八皇后的一个回溯递归解法
  5. linux常用快捷命令(不断更新)
  6. val, lazy, def
  7. d3.js 入门指南 - 仪表盘
  8. React开发(264):react使用国际化
  9. 百亿身家中年男子告别房地产转行学Python,我们推荐他读这6本书
  10. swift:自定义UICollectionViewFlowLayout
  11. 计算机基础思维导图_超级简单的实操示范,教你零基础带孩子玩转风靡全球的思维导图...
  12. C# Redis的操作
  13. 关闭绿联硬盘盒子自动休眠的方法!
  14. 单体民宿小程序开发运营方案
  15. python实现视频转文字
  16. 【Python-Numpy】numpy.random.binomial()的解析与使用
  17. 有事的一天,小事一大堆......
  18. 正向/逆向最大匹配法分词实现
  19. vue3+jsQr实现手机浏览器调用本地摄像头扫描并识别二维码
  20. 傅里叶变换的相关公式

热门文章

  1. 基于Vue和SpringBoot的论文检测系统的设计与实现
  2. 5.关于laravel框架中Contorller
  3. 我作为“硬件工程师”,为什么怕做硬件?
  4. c语言学生成绩统计问题分析,学生成绩统计c语言教程分析.doc
  5. Aggregated Residual Transformations for Deep Neural Networks
  6. webpack 的 sourse-map 中 eval、cheap、inline 和 module 各是什么意思呢?
  7. CTF-加密与解密(二十一)
  8. 阿里OceanBase GitHub送礼刷Star引争议,CTO致歉
  9. PF-EPF-UPF的对比仿真
  10. android 标注 比例换算,Android APP界面标注、尺寸换算和APP标注工具