在键盘上输入3个人的信息分别的ID,姓名,性别,年龄~然后按照3个人的年龄从大到小重新排列出来!我现在输入3个人的信息只能打印出2个人的信息是为什么那?帮我看看那里错了好吗?
import java.util.*;
public class Tesx
{
Ren[] r=new Ren[3];
public void ShuRu(){
Scanner sc=new Scanner(System.in);
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 void PaiXu(){
Ren pp=null;
for(int i=0;i<r.length-1;i++){
for(int j=i+1;j<r.length;j++){
if(r[i].age<r[j].age){
pp=r[i];
r[i]=r[j];
r[j]=pp;
}
}
System.out.println("ID: "+r[i].id+" "+"姓名: "+r[i].name+" "+"性别: "+r[i].sex+" "+"年龄: "+r[i].age);
}
}
public static void main(String[] arge){
Tesx Te=new Tesx();
Te.ShuRu();
Te.PaiXu();
}
}
public class Ren
{
int id;
String name;
String sex;
int age;
}
import java.util.*;
public class Tesx
{
Ren[] r=new Ren[3];
public void ShuRu(){
Scanner sc=new Scanner(System.in);
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 void PaiXu(){
Ren pp=null;
for(int i=0;i<r.length-1;i++){
for(int j=i+1;j<r.length;j++){
if(r[i].age<r[j].age){
pp=r[i];
r[i]=r[j];
r[j]=pp;
}
}
System.out.println("ID: "+r[i].id+" "+"姓名: "+r[i].name+" "+"性别: "+r[i].sex+" "+"年龄: "+r[i].age);
}
}
public static void main(String[] arge){
Tesx Te=new Tesx();
Te.ShuRu();
Te.PaiXu();
}
}
public class Ren
{
int id;
String name;
String sex;
int age;
}
Ren pp=null;
for(int i=0;i<r.length-1;i++){ //把-1去掉试试
Ren pp=null;
for(int i=0;i<r.length-1;i++){
for(int j=i+1;j<r.length;j++){
if(r[i].age<r[j].age){
pp=r[i];
r[i]=r[j];
r[j]=pp;
}
} }
for (int i=0;i<r.length;i++)
System.out.println("ID: "+r[i].id+" "+"姓名: "+r[i].name+" "+"性别: "+r[i].sex+" "+"年龄: "+r[i].age);
}