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

xiaoxiao2021-02-28  104

查找和排序

题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩       都按先录入排列在前的规则处理。

   例示:    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;     } }
转载请注明原文地址: https://www.6miu.com/read-55161.html

最新回复(0)