外贸seo外贸推广外贸网站建设外贸网站建设,用图片设置网站首页,wordpress定制,专业模板网站设计公司参考链接#xff1a; 如何在Java中交换或交换对象
Java对象数组使用 一、Java数组的使用二、Java的对象数组2.1 问题提出2.2 问题解析2.3 问题拆分2.4 代码实现 一、Java数组的使用
对象数组其实和Java的数组类似的#xff0c;所以要很清楚Java的数组是如何使用的#xf…参考链接 如何在Java中交换或交换对象
Java对象数组使用 一、Java数组的使用二、Java的对象数组2.1 问题提出2.2 问题解析2.3 问题拆分2.4 代码实现 一、Java数组的使用
对象数组其实和Java的数组类似的所以要很清楚Java的数组是如何使用的如果有不懂的可以点下面这个链接Java数组的使用
二、Java的对象数组
2.1 问题提出
为什么会有对象数组呢假定有这种情况我们需要录入一个班级同学的姓名学号和成绩然后对成绩进行排序以降序或者升序进行排列这个时候就会有人跳出来说我用一个字符串数组存储姓名然后再用一个二维数组存放学号和成绩然后根据程序的高低进行排序。
2.2 问题解析
NONONO今天我们来教大家如何使用对象数组来解决这个问题,对象数组我们前面学过Java(OOP)编程—Java OOP编程想必大家也对面向对象这个词也会稍微有了一些了解对象数组就是可以存放多种不同的数据类型然后我们通过对象来调用我们所存放的数据。
接下来我就来告诉大家如何使用对象数组完成这个成绩排序的问题
2.3 问题拆分
我们可以把问题简化一下输入五个学生的成绩然后进行排序打印输出
先创建一个学生类给学生类添加学生的信息—姓名学号成绩然后分别生成有参和无参的构造方法再创建一个学生测试类创建对象数组给对象数组申请 5 个空间循环录入信息根据学生成绩进行排序然后打印输出
2.4 代码实现
创建一个学生类的属性包括学生的姓名学号成绩 为了方便我把两个文件放进了同一个包中使用
package A
/** * author gorit * date 2019年4月10日 * 对象数组学生类的创建 * */
public class Student { private String name;//学生的姓名 private int num;//学生的学号信息 private int grades;//学生的成绩 //有参的构造方法 public Student(String name, int num, int grades) { super(); this.name name; this.num num; this.grades grades; } //无参的构造方法 public String getName() { return name; } public void setName(String name) { this.name name; } public int getNum() { return num; } public void setNum(int num) { this.num num; } public int getGrades() { return grades; } public void setGrades(int grades) { this.grades grades; } public Student(){} } 然后就是学生类的测试类
package A
/** * author gorit * date 2019年4月10日 * 对象数组的实例讲解 * */
import java.util.Scanner; public class StudentTest { public static void main(String[] args) { System.out.println(请录入学生姓名学号、成绩:); Scanner innew Scanner(System.in);
// int[] anew int[3];对照数组的使用
// 1、创建对象数组Student类有三个属性所以传入数据需要传三个数据 Student[] snew Student[5];//对象数组的创建是一样的 for (int i 0; i s.length; i) { //还可以一个个输入s[i].getName,s[i].getNum,s[i].getGrade,一个个输入,用下面的方法更加快捷 s[i]new Student(in.next(),in.nextInt(),in.nextInt()); } Student s1null;//创建一个为空的对象进行数据交换 //根据学生的成绩进行排序,这里运用冒泡排序 for(int i0;is.length;i) { for (int j 0; j s.length; j) { if(j!4)//这里必须加上这个条件不然数字会报出越界的问题 if(s[j].getGrades()s[j1].getGrades()) { s1s[j1]; s[j1]s[j]; s[j]s1; } } } System.out.println(学生的成绩排名如下\n姓名\t学号\t成绩); for (int i 0; i s.length; i) { System.out.println(s[i].getName()\ts[i].getNum()\ts[i].getGrades()); } }
} 程序运行结果