您的位置:首页 > 其它

输入多行,先输入要排序的人的个数,然后输入排序方法0(降序)或者1(升序)再分别输入他们的名字和成绩,以一个空格隔开

2017-07-11 10:37 615 查看
查找和排序

题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩

      都按先录入排列在前的规则处理。

   例示:

   jack      70

   peter     96

   Tom       70

   smith     67

   从高到低  成绩            

   peter     96    

   jack      70    

   Tom       70    

   smith     67    

   从低到高

   smith     67  

   Tom       70    

   jack      70    

   peter     96      


输入描述:

输入多行,先输入要排序的人的个数,然后输入排序方法0(降序)或者1(升序)再分别输入他们的名字和成绩,以一个空格隔开


输出描述:

按照指定方式输出名字和成绩,名字和成绩之间以一个空格隔开

示例1

输入

3
0
fang 90
yang 50
ning 70


输出

fang 90
ning 70
yang 50


import java.util.*;

public class Main{

    public static void main(String[] args){

        System.out.println("请输入人数: ");

        Scanner input=new Scanner(System.in);

        int n=Integer.parseInt(input.nextLine());

        System.out.println("请输排序方式,0或1: ");

        int sort;

        sort=Integer.parseInt(input.nextLine());

        if(n==0){

            return;

        }else{

            Person[] persons=new Person[100];

            for(int i=0;i<n;i++){

            persons[i]=new Person();

                String str=input.nextLine();               

                String[] ss=str.split(" ");

                int a=Integer.parseInt(ss[1]);                               

                persons[i].set(ss[0],a);                

            }

            Person temp=new Person();

            if(sort==1){

                for(int i=0;i<n-1;i++){

                    for(int j=0;j<n-1-i;j++){

                        if(persons[j].grade>persons[j+1].grade){

                            temp=persons[j];

                            persons[j]=persons[j+1];

                            persons[j+1]=temp;

                        }

                    }

                }

            }else{

                for(int i=0;i<n-1;i++){

                    for(int j=0;j<n-1-i;j++){

                        if(persons[j].grade<persons[j+1].grade){

                            temp=persons[j];

                            persons[j]=persons[j+1];

                            persons[j+1]=temp;

                        }

                    }

                }

            }

            for(int i=0;i<n;i++){

                System.out.println(persons[i].name+" "+persons[i].grade);

            }

        }

    }

}

class Person{

    String name;

    int grade;

    public void set(String name,int grade){

        this.name=name;

        this.grade=grade;

    }

    @Override

    public String toString() {

    // TODO Auto-generated method stub

    return "name: "+name+"grade: "+grade;

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐