输入多行,先输入要排序的人的个数,然后输入排序方法0(降序)或者1(升序)再分别输入他们的名字和成绩,以一个空格隔开
来源:互联网 发布:网络大众理财产品收益 编辑:程序博客网 时间:2024/05/16 15:39
查找和排序
题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩
都按先录入排列在前的规则处理。
例示:
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
输入
30fang 90yang 50ning 70
输出
fang 90ning 70yang 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;
}
}
阅读全文
0 0
- 输入多行,先输入要排序的人的个数,然后输入排序方法0(降序)或者1(升序)再分别输入他们的名字和成绩,以一个空格隔开
- 输入学生个数,学生姓名和他们的成绩,然后按照学生成绩降序排列
- 华为机试题之二:输入一串用空格隔开的数字串,对于数字串的奇数位按升序排序,偶数位按降序排序.
- 输入一个已经按升序排序过的数组和一个数字(14)
- 我的排序,输入n个数,然后进行升降排序
- 输入一个字符串,单词以逗号或空格隔开。要求:滤除相同的字符串,单词以空格隔开。
- 求输入的单词个数(单词间用空格隔开 不限空格个数) 首尾不能用空格
- s1--输入10个数,去除重复的,然后排序输出
- java程序: 输入数量不确定的正数和负数(一次输入一个), 然后打印正数和负数的个数,当输入0时,程序停止
- 输入流的数字求和(空格隔开)
- 【华为 OJ 】输入整型数组及其排序标志,对输入的数进行升序或降序排列
- 输入五个数字,将其降序排列。然后插入一个数字,然后再降序排列。(冒泡法排序)
- 通过标准输入设备输入一行语句以空格隔开,提取其中的每一个词
- 第14 题:题目:输入一个已经按升序排序过的数组和一个数字
- 输入一个已经按升序排序过的数组和一个数字
- 14、输入一个已经按升序排序过的数组和一个数字
- 输入一个已经按升序排序过的数组和一个数字
- 输入一个已经按升序排序过的数组和一个数字
- C++ define、typdef和const
- asp.net Mvc3 之 Html.BeginForm
- 重启yarn服务报错no ResourceManager to stop
- Webstorm常用快捷键
- scala插值器
- 输入多行,先输入要排序的人的个数,然后输入排序方法0(降序)或者1(升序)再分别输入他们的名字和成绩,以一个空格隔开
- 如何在本地搭建Python开发环境
- 过滤器(Filter)、监听器(Listener)
- Spring属性注入
- [RK3288][Android6.0] WiFi之从Linkspeed看获取流程
- 遍历所有Map(json)中的键值对
- Java数组
- JAVA、WEB最新技术框架整理 参考下
- 初识Docker