输入多行,先输入要排序的人的个数,然后输入排序方法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
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;
}
}
题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩
都按先录入排列在前的规则处理。
例示:
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;
}
}
相关文章推荐
- 华为机试题之二:输入一串用空格隔开的数字串,对于数字串的奇数位按升序排序,偶数位按降序排序.
- 【JAVA编程题】现在输入n个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序,结果为,提供reset
- 在一个长度为10的整型数组里面,保存了班级10个学生的考试成绩。要求编写5个函数,分别实现计算考试的总分,最高分,最低分,平均分和考试成绩降序排序
- Java集合框架上机练习题(泛型、JFrame)用户分别从两个文本框输入学术的姓名和分数,程序按成绩排序将这些学生的姓名和分数显示在一个文本区中。
- 编写一个应用程序,用户分别从两个文本框输入学术的姓名和分数,程序按成绩排序将这些学生的姓名和分数显示在一个文本区中
- 要求从用户输入的多行文本中提取学生的姓名、学号及登录日期,并封装到 Student 类中作为类的私有属性。创建一个 Student 类型的对象数组,对学号进行 升序排序并输出
- 编写一个应用程序,用户分别从两个文本框输入学术的姓名和分数,程序按成绩排序将这些学生的姓名和分数显示在一个文本区中。 程序运行效果如图:
- 编写一个应用程序,用户分别从两个文本框输入学术的姓名和分数,程序按成绩排序将这些学生的姓名和分数显示在一个文本区中。
- 输入包括两行,第一行是一个正整数N(N<=1000000),表示理工大共N个美女。第二行有N个正整数分别表示N位美女的身高,每个正整数的值不会超过10^9。 (输入数据之间会用空格隔开)
- 输入包括两行,第一行是一个正整数N(N<=1000000),表示理工大共N个美女。第二行有N个正整数分别表示N位美女的身高,每个正整数的值不会超过10^9。 (输入数据之间会用空格隔开)
- python字典分别按照key和value升序或者降序排列--以给定一个含有重复元素的数组list,按照其出现次数大小降序输出
- 输入包括两行,第一行是一个正整数N(N<=1000000),表示理工大共N个美女。第二行有N个正整数分别表示N位美女的身高,每个正整数的值不会超过10^9。 (输入数据之间会用空格隔开)
- 现在输入 n 个数字, 以逗号, 分开; 然后可选择升或者 降序排序;
- 现在输入n个数字,以逗号分开,然后可选择升或者降序排序,按提交键在另一个页面显示
- 2 编写一个应用程序,用户分别从两个文本框输入学生的姓名和分数,程序按成绩排序将这些学生的姓名和分数显示在一个文本区中。 程序运行效果如图:
- 编写一个应用程序,用户分别从两个文本框输入学术的姓名和分数,程序按成绩排序将这些学生的姓名和分数显示在一个文本区中。
- lesson 9:编写一个应用程序,用户分别从两个文本框输入学术的姓名和分数,程序按成绩排序将这些学生的姓名和分数显示在一个文本区中。
- 现在输入n个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序,结果为,提供reset
- 输入学生个数,学生姓名和他们的成绩,然后按照学生成绩降序排列
- 要求从用户输入的多行文本中提取学生的姓名、学号及登录日期,并封装到 Student 类中作为类的私有属性。创建一个Student类型的对象数组,对学号进行 升序排序并输出。