在键盘上分别输入5个人的名字,年龄,性别,ID~然后按5个人的年龄从大到小的打印出来!面向对象的方法做出来~谁能帮我写一个让我看看好吗?
我已经在一个方法里写出来输入了~怎么在另一个方法里写排序输出啊?大哥们帮帮忙!
import java.util.*;
public class Tesx
{
Ren r;
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
Tesx Te=new Tesx();
Te.r=new Ren();
Ren[] r=new Ren[5];
for(int i=0;i<r.length;i++){
r[i]=new Ren();
System.out.println("请输入第"+(i+1)+"个人的ID");
r[i].id=sc.nextInt();
System.out.println("请输入第"+(i+1)+"个人的姓名");
r[i].name=sc.next();
System.out.println("请输入第"+(i+1)+"个人的性别");
r[i].sex=sc.next();
System.out.println("请输入第"+(i+1)+"个人的年龄");
r[i].age=sc.nextInt();
}
}
我已经在一个方法里写出来输入了~怎么在另一个方法里写排序输出啊?大哥们帮帮忙!
import java.util.*;
public class Tesx
{
Ren r;
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
Tesx Te=new Tesx();
Te.r=new Ren();
Ren[] r=new Ren[5];
for(int i=0;i<r.length;i++){
r[i]=new Ren();
System.out.println("请输入第"+(i+1)+"个人的ID");
r[i].id=sc.nextInt();
System.out.println("请输入第"+(i+1)+"个人的姓名");
r[i].name=sc.next();
System.out.println("请输入第"+(i+1)+"个人的性别");
r[i].sex=sc.next();
System.out.println("请输入第"+(i+1)+"个人的年龄");
r[i].age=sc.nextInt();
}
}
public class Tesx
{
Ren r;
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
Tesx Te=new Tesx();
Te.r=new Ren();
Ren[] r=new Ren[5];
for(int i=0;i<r.length;i++){
r[i]=new Ren();
System.out.println("请输入第"+(i+1)+"个人的ID");
r[i].id=sc.nextInt();
System.out.println("请输入第"+(i+1)+"个人的姓名");
r[i].name=sc.next();
System.out.println("请输入第"+(i+1)+"个人的性别");
r[i].sex=sc.next();
System.out.println("请输入第"+(i+1)+"个人的年龄");
r[i].age=sc.nextInt();
}
for(int i=0;i<r.length;i++){
for(int j=0;j<r.length;j++){
if(r[i].age<r[j].age){
int sum=0;
sum=r[i].age;
r[i].age=r[j].age;
r[j].age=sum;
}
}
System.out.println("5个人的年龄从大到小的顺序是"+r[i].id+" "+r[i].name+" "+r[i].sex+" "+r[i].age);
}
}
}
我写在一个里面可是输出一直所有的年龄都变成了最大的哪个~应该把SUM写在那?
public class Test
{
Ren r; public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
Ren[] r=new Ren[5];
for(int i=0;i <r.length;i++){
r[i]=new Ren();
System.out.println("请输入第"+(i+1)+"个人的ID");
r[i].id=sc.nextInt();
System.out.println("请输入第"+(i+1)+"个人的姓名");
r[i].name=sc.next();
System.out.println("请输入第"+(i+1)+"个人的性别");
r[i].sex=sc.next();
System.out.println("请输入第"+(i+1)+"个人的年龄");
r[i].age=sc.nextInt();
}
Arrays.sort(r);
for(int i=0;i<r.length;i++){
System.out.println(r[i]);
}
}
}
class Ren implements Comparable<Ren>{
int id;
String name;
String sex;
int age; public int compareTo(Ren other) { Ren o=(Ren)other;
if(o.age>this.age)
return -1;
else if(o.age<this.age)
return 1;
else
return 0; }
public String toString(){
return "id:"+id+",name:"+name+",sex:"+sex+":"+age;
}
}
for(int j=i+1;j<r.length;j++){
if(r[i].age<r[j].age){
int sum=0;
sum=r[i].age;
r[i].age=r[j].age;
r[j].age=sum;
}
}
Scanner sc=new Scanner(System.in);
Tesx Te=new Tesx();
Te.r=new Ren();
Ren[] r=new Ren[5];是什么意思啊 ??? 怎么一层又一层的定义啊,后面的name id sex age又是怎么来的啊 可以直接这样定义???
用这个版本的JDK怎么改写这个程序啊???