A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 高廷平 中级黑马   /  2012-9-26 09:53  /  1028 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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);
  
}

}


作业题,感觉自己实现的还可以,晒出来,让大家指教指教!

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马