Java--冒泡排序

本文介绍了一种使用冒泡排序算法对包含姓名和成绩的Person对象数组进行排序的方法。通过实例化Person对象并利用冒泡排序按成绩从高到低排序,展示了静态变量、静态方法与普通变量、普通方法的区别,以及数组初始化和对象操作的基本过程。

要求:按照成绩的高低对一个人的成绩和这个人的姓名进行排序

注解:知晓创建一个Person数组并且初始化Person数组的方法。
明白静态变量,静态方法和普通变量普通方法的区别。

冒泡排序:内部for循环用于相邻两个数比较大小,然后实现最小(最大)的值排在最后的位置
外部for循环用于多次冒泡,实现剩下的数中的最小(最大)值排在这些数中最后的位置

package com.guo.arithmetic;
import java.util.Scanner;
public class BubbleSort {
	public static int m;//输入数据的最大值
	public static int n ;//输入数据的个数
	
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
//		System.out.println("请输入要排序的成绩的最大值");
//		m = sc.nextInt();
		System.out.println("请输入想要排序的成绩的个数");
		n = sc.nextInt();
		Person[] person = new Person[100];
		for(int i=0;i<n;i++) {
			System.out.println("请输入第"+(i+1)+"个人的姓名");
			String name = sc.next();
			System.out.println("请输入第"+(i+1)+"个人的成绩");
			int score = sc.nextInt();
			person[i] = new Person(name, score);
		}

		//根据成绩进行排序
		for(int i=0;i<n;i++) {
			for(int j=0;j<n-i-1;j++) {
				if(person[j].getScore()<person[j+1].getScore()) {
					Person temp = person[j];
					person[j]=person[j+1];
					person[j+1]=temp;
				}
			}
		}
		
		for(int a=0;a<n;a++) {
			System.out.println("name:"+person[a].getName()+"  score:"+person[a].getScore());
		}	
	}
}

Person

package com.guo.arithmetic;

public class Person {
	private String name;
	private int score;
	
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getScore() {
		return score;
	}

	public void setScore(int score) {
		this.score = score;
	}

	public Person(String name, int score) {
		super();
		this.name = name;
		this.score = score;
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值