日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

[转载] Java中对象数组的使用

發(fā)布時(shí)間:2025/3/11 java 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [转载] Java中对象数组的使用 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

參考鏈接: 如何在Java中交換或交換對象

Java對象數(shù)組使用

?一、Java數(shù)組的使用二、Java的對象數(shù)組2.1 問題提出2.2 問題解析2.3 問題拆分2.4 代碼實(shí)現(xiàn)

? ??

? ?

??

?

?

?

一、Java數(shù)組的使用?

對象數(shù)組其實(shí)和Java的數(shù)組類似的,所以要很清楚Java的數(shù)組是如何使用的,如果有不懂的可以點(diǎn)下面這個(gè)鏈接Java數(shù)組的使用?

二、Java的對象數(shù)組?

2.1 問題提出?

為什么會(huì)有對象數(shù)組呢?假定有這種情況,我們需要錄入一個(gè)班級同學(xué)的姓名,學(xué)號,和成績,然后對成績進(jìn)行排序,以降序或者升序進(jìn)行排列,這個(gè)時(shí)候就會(huì)有人跳出來說,我用一個(gè)字符串?dāng)?shù)組存儲(chǔ)姓名,然后再用一個(gè)二維數(shù)組存放學(xué)號和成績,然后根據(jù)程序的高低進(jìn)行排序。?

2.2 問題解析?

NONONO!今天我們來教大家如何使用對象數(shù)組來解決這個(gè)問題,對象數(shù)組,我們前面學(xué)過Java(OOP)編程—(Java OOP編程),想必大家也對面向?qū)ο筮@個(gè)詞也會(huì)稍微有了一些了解,對象數(shù)組就是可以存放多種不同的數(shù)據(jù)類型,然后我們通過對象來調(diào)用我們所存放的數(shù)據(jù)。?

接下來我就來告訴大家如何使用對象數(shù)組,完成這個(gè)成績排序的問題?

2.3 問題拆分?

我們可以把問題簡化一下,輸入五個(gè)學(xué)生的成績,然后進(jìn)行排序打印輸出?

先創(chuàng)建一個(gè)學(xué)生類給學(xué)生類添加學(xué)生的信息—姓名,學(xué)號,成績,然后分別生成有參和無參的構(gòu)造方法再創(chuàng)建一個(gè)學(xué)生測試類創(chuàng)建對象數(shù)組,給對象數(shù)組申請 5 個(gè)空間循環(huán)錄入信息根據(jù)學(xué)生成績進(jìn)行排序,然后打印輸出?

2.4 代碼實(shí)現(xiàn)?

創(chuàng)建一個(gè)學(xué)生類的屬性,包括學(xué)生的姓名,學(xué)號,成績 為了方便,我把兩個(gè)文件放進(jìn)了同一個(gè)包中使用?

package A

/**

?* @author gorit

?* @date 2019年4月10日

?* 對象數(shù)組學(xué)生類的創(chuàng)建

?* */

public class Student {

? ? private String name;//學(xué)生的姓名

? ? private int num;//學(xué)生的學(xué)號信息

? ? private int grades;//學(xué)生的成績

? ??

? ? //有參的構(gòu)造方法

? ? public Student(String name, int num, int grades) {

? ? ? ? super();

? ? ? ? this.name = name;

? ? ? ? this.num = num;

? ? ? ? this.grades = grades;

? ? }

?

? ? //無參的構(gòu)造方法

? ? 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(){}

?

}

?

然后就是學(xué)生類的測試類?

package A

/**

?* @author gorit

?* @date 2019年4月10日

?* 對象數(shù)組的實(shí)例講解

?* */

import java.util.Scanner;

?

public class StudentTest {

? ? public static void main(String[] args) {

? ? ? ? System.out.println("請錄入學(xué)生姓名,學(xué)號、成績:");

? ? ? ? Scanner in=new Scanner(System.in);

//? ? ? ? int[] a=new int[3];對照數(shù)組的使用

//? ? ? 1、創(chuàng)建對象數(shù)組,Student類有三個(gè)屬性,所以傳入數(shù)據(jù)需要傳三個(gè)數(shù)據(jù)

? ? ? ? Student[] s=new Student[5];//對象數(shù)組的創(chuàng)建是一樣的

? ? ? ? for (int i = 0; i < s.length; i++) {

? ? ? ? ? ? //還可以一個(gè)個(gè)輸入s[i].getName,s[i].getNum,s[i].getGrade,一個(gè)個(gè)輸入,用下面的方法更加快捷

? ? ? ? ? ? s[i]=new Student(in.next(),in.nextInt(),in.nextInt());

? ? ? ? }

? ??????

? ? ? ? Student s1=null;//創(chuàng)建一個(gè)為空的對象進(jìn)行數(shù)據(jù)交換

? ? ? ? //根據(jù)學(xué)生的成績進(jìn)行排序,這里運(yùn)用冒泡排序

? ? ? ? for(int i=0;i<s.length;i++) {

? ? ? ? ? ? for (int j =0; j < s.length; j++) {

? ? ? ? ? ? ? ? if(j!=4)//這里必須加上這個(gè)條件,不然數(shù)字會(huì)報(bào)出越界的問題

? ? ? ? ? ? ? ? if(s[j].getGrades()<s[j+1].getGrades()) {

? ? ? ? ? ? ? ? ? ? s1=s[j+1];

? ? ? ? ? ? ? ? ? ? s[j+1]=s[j];

? ? ? ? ? ? ? ? ? ? s[j]=s1;

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }

? ? ? ? }

? ??????

? ? ? ? System.out.println("學(xué)生的成績排名如下\n姓名\t學(xué)號\t成績");

? ? ? ? for (int i = 0; i < s.length; i++) {

? ? ? ? ? ? System.out.println(s[i].getName()+"\t"+s[i].getNum()+"\t"+s[i].getGrades());

? ? ? ? }

? ??????

? ? }

}

?

程序運(yùn)行結(jié)果

總結(jié)

以上是生活随笔為你收集整理的[转载] Java中对象数组的使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。