package mytest_object;
/*
* 有三个人 (名字,年龄,性别),由键盘录入
* 按照年龄由大到小排序输出他们的信息
*/
import java.util.*;
public class MyObjectTest2
{
public static void main(String [] args)
{
PersonTest [] arr=new PersonTest[3];//声明一个PersonTest类类型的数组
for(int i=0;i<arr.length;i++) //初始化,必须的,不然在录入信息函数中会出现空指针异常
{
arr[i]=new PersonTest();
}
myInput(arr);//录入信息
System.out.println("排序前:");
myprint(arr);//输出信息
System.out.println("按年龄排序后:");
sortArrayClass(arr);//按照年龄降序排序
myprint(arr);//输出信息
}
public static void myInput(PersonTest [] arr)
{
//键盘录入信息
Scanner can=new Scanner(System.in);
for(int i=0;i<arr.length;i++)
{
System.out.print("请输入第+(i+1)+个人的信息姓名,性别,年龄:");
arr[i].name=can.next();
arr[i].sex=can.next();
arr[i].age=can.nextInt();
}
}
public static void sortArrayClass(PersonTest [] arr)
{
//按照年龄对数组排序降序排序
PersonTest temp=null;
for(int i=0;i<arr.length-1;i++)
{
for(int j=i+1;j<arr.length;j++)
{
if(arr[i].age<arr[j].age)
{
temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}
}
public static void myprint(PersonTest [] arr)
{
//调类自己的方法输出数组中的信息
for(int i=0;i<arr.length;i++)
{
arr[i].printPerson();
}
}
}
class PersonTest
{
int age=10;
String name="张三";
String sex="男";
void printPerson()
{
System.out.println(name+" 性别:"+sex+" 年龄:"+age);
}
}
作业题,感觉自己实现的还可以,晒出来,让大家指教指教!
|
|