`

排序排序 array to object?? attachment

J# 
阅读更多
import java.util.Random;

public class ArrayToObject {

	public static void main(String[] args) {

		/*
		 * Arrays方法都是 针对一维数组
		 */

		Person[] p = new Person[25];

		// 数组模拟对象
		// 二维数组就可以了
		// column代表对象有几个属性
		// 建立了25个对象
		// 不好的地方是修改属性age,不能直接反映salary变化
		// 默认约定[][0]:Id [][1]:name [][2]:age [][3]salary
		// Array[row][column]!!!

		String[][] PersonArray = new String[5][4];

		for (int i = 0; i < PersonArray.length; i++) {
			PersonArray[i][0] = "123456" + i;
			PersonArray[i][1] = "Dolphin";
			PersonArray[i][2] = "25";
			PersonArray[i][3] = String.valueOf((Integer
					.parseInt(PersonArray[i][0]) * Integer
					.parseInt(PersonArray[i][2]))
					+ i * 200);
		}

		for (int i = 0; i < PersonArray.length; i++) {
			log(PersonArray[i][0]);
			log(PersonArray[i][1]);
			log(PersonArray[i][2]);
			log(PersonArray[i][3]);
			System.out.println();
		}

		System.out.println(PersonArray.length+" length");
	   
		/*
		 * 按照Salary排序,从大到小
		 */
		for(int i=1;i<PersonArray.length;i++){
	    	int min =0;
	    	for (int j=1;j<=PersonArray.length-i;j++){
	    		if (Integer.parseInt(PersonArray[j][3])<Integer.parseInt(PersonArray[min][3])){
	    			min =j; 
	    		}
	    	}
	    	String[] temp = PersonArray[min]; 
	    	PersonArray[min] = PersonArray[PersonArray.length-i] ;
	    	PersonArray[PersonArray.length-i]= temp;
	    }
		
		for (int i = 0; i < PersonArray.length; i++) {
			log(PersonArray[i][0]);
			log(PersonArray[i][1]);
			log(PersonArray[i][2]);
			log(PersonArray[i][3]);
			System.out.println();
		}

		/*
		 * 比较排序
		 */
		Random random = new Random();
		int[] data = new int[10];
		for (int i = 0; i < 10; i++) {
			data[i] = random.nextInt(100) - random.nextInt(100);//生成两个随机数相减,保证生成的数中有负数
		}
		System.out.println("==========原始序列==========");

		for(int i:data){
			System.out.print(i+" ");
		}
		
		/*
		 * 从小到大排列
		 */
		int index;
		for (int i = 1; i < data.length; i++) {
			/*
			 * data[index]是当前最大的值,每次循环假设data[0]是最大值
			 */
			index = 0;
			for (int j = 1; j <= data.length - i; j++) {
				if (data[j] > data[index]) {
					index = j;

				}
			}
			//交换在位置data.length-i和index(最大值)两个数
			int temp = data[index];
			data[index] = data[data.length - i];
			data[data.length - i] = temp;
			
		}//end for
		
		System.out.println();
		for(int i:data){
			System.out.print(i+" ");
		}
		
	}

	public static void log(Object o) {
		System.out.print(o.toString() + " ");

	}
}

class Person {
	String Id = "123456";

	String name = "Dolphin";

	int age = 25;

	int salary = this.calSaraly();

	private int calSaraly() {
		this.salary = this.age * Integer.parseInt(Id);
		return this.salary;
	}

	public void setAge(int age) {
		this.age = age;
		this.calSaraly();
	}

}

 

  • 大小: 7.5 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics