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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 毛标 中级黑马   /  2012-9-27 12:30  /  1687 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 屈俊材 于 2012-9-27 16:36 编辑

package Demo;
/*
* 有三个人,人有名字,性别,年龄.这三个人的信息从键盘输入.
要求将三个人按照年龄从大到小输出这些人的信息
* */
import java.util.*;
public class Test3 {
public static void main(String[] args) {  
  Person p1 = new Person();
  Person p2 = new Person();
  Person p3 = new Person();
  p1.show();
  p2.show();
  p3.show();
  //假设P1最大
  if(p1.age<p2.age){
   Person p=p1;
   p1=p2;
   p2=p;
  }
  if(p1.age<p3.age){
   Person p=p1;
   p1=p3;
   p3=p;
   
  }
  //假设P2第二大
  if(p2.age<p3.age){
   Person p=p2;
   p2=p3;
   p3=p;
  }
  System.out.println("姓名"+p1.name+"性别"+p1.sex+"年龄"+p1.age);
  System.out.println("姓名"+p2.name+"性别"+p2.sex+"年龄"+p2.age);
  System.out.println("姓名"+p3.name+"性别"+p3.sex+"年龄"+p3.age);
}

  }

class Person
{
  String name;
  String sex;
  int age;
     
     void show(){
     Scanner sc= new Scanner(System.in);
  System.out.println("姓名");
  name=sc.nextLine();
  System.out.println("性别");
  sex=sc.nextLine();
  System.out.println("年龄");
     age=sc.nextInt();
      
     }
} 这是个笨方法
希望有人能用二维数组给做下,,试了好几次结果老是不对,,寻求帮忙

5 个回复

倒序浏览
  1. import java.util.Scanner;
  2. class Test {
  3.         public static void main(String[] args) {
  4.      Person p1=new Person();
  5.      Person p2=new Person();
  6.      Person p3=new Person();
  7.      Person[]arr={p1,p2,p3};
  8.      System.out.println("排序前");
  9.      println(arr);//打印
  10.      sort(arr);//排序
  11.      System.out.println("排序后");
  12.      println(arr);//打印
  13.         }

  14.         private static void println(Person[] arr) {
  15.                 for (int i = 0; i < arr.length; i++) {
  16.                 System.out.println("姓名:"+arr[i].name+"\t性别:"+arr[i].sex+"\t年龄"+arr[i].age);
  17.                 }
  18.         }

  19.         private static void sort(Person[] arr) {
  20.                 for (int i = 0; i < arr.length-1; i++) {
  21.                         for (int j = i+1; j < arr.length; j++) {
  22.                                 if(arr[i].age<arr[j].age){
  23.                                         Person temp=arr[i];
  24.                                         arr[i]=arr[j];
  25.                                         arr[j]=temp;
  26.                                 }
  27.                         }
  28.                 }
  29.         }
  30. }
  31. class Person{
  32.         Scanner sc = new Scanner(System.in);
  33.         String name =sc.nextLine();
  34.         String sex =sc.nextLine();
  35.         int age = sc.nextInt();
  36. }
  37. 用一维数组做的
复制代码
回复 使用道具 举报
用什么二维数组啊,你把键盘录入的数据存入到TreeSet集合中,对集合中的元素进行排序输出就好了
回复 使用道具 举报
黄敏 发表于 2012-9-27 12:42
用什么二维数组啊,你把键盘录入的数据存入到TreeSet集合中,对集合中的元素进行排序输出就好了 ...

只是想到了~~实现有点难题。。所以寻求帮忙  试试各种方法
回复 使用道具 举报
毛标 发表于 2012-9-27 12:44
只是想到了~~实现有点难题。。所以寻求帮忙  试试各种方法

问一下  这个控制台输入怎么结束,我对Scanner不了解
回复 使用道具 举报
黄敏 发表于 2012-9-27 13:01
问一下  这个控制台输入怎么结束,我对Scanner不了解

输出名字 回车
输出新别 回车
输出年龄 回车
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马