目录

7-1 sdut-Collection-sort--C~K的班级(II)

输入格式:

输出格式:

输入样例:

输出样例:

7-2 sdut-Map-Sort--C~K的班级(III)

输入格式:

输出格式:

输入样例:

输出样例:

7-3 jmu-Java-06异常-01-常见异常

main方法

输入说明:

输入样例:

输出样例:

7-4 jmu-Java-06异常-02-使用异常机制处理异常输入

main方法:

输入样例:

输出样例:

7-5 jmu-Java-06异常-03-throw与throws

前言

题目内容

main方法:

输入样例:

输出样例:

7-6 list 存储动物对象

输入格式:

输出格式:

输入样例:

输出样例:

7-7 sdut-String-2 识蛟龙号载人深潜,立科技报国志(2)(正则表达式)

输入格式:

输出格式:

输入样例1:

输出样例1:

输入样例2:

输出样例2:

7-8 sdut-oop-7 答答租车系统(类的继承与多态 面向对象综合练习)

输入格式:

输出格式:

输入样例:

输出样例:

7-9 sdut-Collection-sort--C~K要找女朋友了!

输入格式:

输出格式:

输入样例:

输出样例:


7-1 sdut-Collection-sort--C~K的班级(II)

分数 10

全屏浏览题目

切换布局

作者 周雪芹

单位 山东理工大学

经过不懈的努力,C~K终于当上了班主任。

现在他要统计班里学生的名单,但是C~K在教务系统中导出班级名单时出了问题,发现会有同学的信息重复,现在他想把重复的同学信息删掉,只保留一个,
但是工作量太大了,所以找到了会编程的你,你能帮他解决这个问题吗?

输入格式:

第一行输入一个N,代表C~K导出的名单共有N行(N<100000).

接下来的N行,每一行包括一个同学的信息,学号 姓名 年龄 性别。

输出格式:

第一行输出一个n,代表删除重复名字后C~K的班级共有几人。

接下来的n行,输出每一个同学的信息,输出按照学号从小到大的顺序。

输入样例:

6
0001 MeiK 20 M
0001 MeiK 20 M
0002 sdk2 21 M
0002 sdk2 21 M
0002 sdk2 21 M
0000 blf2 22 F

输出样例:

3
0000 blf2 22 F
0001 MeiK 20 M
0002 sdk2 21 M
import java.util.*;
public class Main{public static void main(String[] args) {Scanner cin = new Scanner (System.in);int n = cin.nextInt();String a = cin.nextLine();ArrayList<String> list = new ArrayList<String>();while(n!= 0) {n--;a = cin.nextLine();if(list.contains(a)) {//如果数组中已经有改字符串已经存在数组中continue;}else {list.add(a);}}int min;String str;for(int i=0;i<list.size()-1;i++){min=i;for(int j=i;j<list.size();j++){if(list.get(min).compareTo(list.get(j))>0){min=j;}}str=list.get(i);list.set(i,list.get(min));list.set(min,str);}System.out.println(list.size());for(int i = 0; i < list.size(); i++) {System.out.println(list.get(i));}}
}

7-2 sdut-Map-Sort--C~K的班级(III)

分数 10

全屏浏览题目

切换布局

作者 周雪芹

单位 山东理工大学

经过不懈的努力,C~K终于当上了班主任。

现在他要统计班里学生的名单,但是C~K在教务系统中导出班级名单时出了问题,发现有学号相同的学生。学号相同,代表同一个学生。(如果学号相同,后来读入的学生信息会覆盖已有的学生信息)

但是工作量太大了,所以找到了会编程的你,你能帮他解决这个问题吗?

输入格式:

第一行输入一个N,代表C~K导出的名单共有N行。

接下来的N行,每一行包括一个学生的信息,数据之间用1个空格分隔,如:学号 姓名 年龄 性别。

输出格式:

第一行输出一个n,代表数据处理之后C~K的班级共有几人。

接下来的n行,按照学号从小到大的顺序输出每一个学生的信息。

输入样例:

6
0001 MeiK 20 M
0001 Anna 20 M
0002 sdk2 21 M
0002 Chris 21 M
0002 Kare 21 M
0000 blf2 22 F

输出样例:

3
0000 blf2 22 F
0001 Anna 20 M
0002 Kare 21 M
import java.util.*;
class ren{private int xuehao;private String name;private int year;private String xingbie;ren(int a,String b,int c,String d){this.xuehao=a;this.name=b;this.year=c;this.xingbie=d;}public int get1(){return this.xuehao;}public String get2(){return this.name;}public int get3(){return this.year;}public String get4(){return this.xingbie;}
}
public class Main {public static void main(String[] args){Scanner sc=new Scanner(System.in);int n=sc.nextInt();int s;int max;ArrayList<ren> r=new ArrayList<ren>();ArrayList<ren> r1=new ArrayList<ren>();int i,j;for(i=0;i<n;i++){r.add(new ren(sc.nextInt(),sc.next(),sc.nextInt(),sc.next()));}for(i=0;i<n;i++){s=r.get(i).get1();max=i;for(j=i+1;j<n;j++){if(s==r.get(j).get1()){i++;if(max<j){max=j;}}}r1.add(r.get(max));}System.out.println(r1.size());int min;ren str;for(i=0;i<r1.size()-1;i++){min=i;for(j=i;j<r1.size();j++){if(r1.get(min).get1()>r1.get(j).get1()){min=j;}}str=r1.get(i);r1.set(i,r1.get(min));r1.set(min,str);}for(i=0;i<r1.size();i++)System.out.printf("%04d %s %d %s\n",r1.get(i).get1(),r1.get(i).get2(),r1.get(i).get3(),r1.get(i).get4());
}
}

7-3 jmu-Java-06异常-01-常见异常

分数 5

全屏浏览题目

切换布局

作者 郑如滨

单位 集美大学

自行编码产生常见异常。

main方法

  1. 事先定义好一个大小为5的数组。
  2. 根据屏幕输入产生相应异常。

提示:可以使用System.out.println(e)打印异常对象的信息,其中e为捕获到的异常对象。

输入说明:

  1. arr 代表产生访问数组是产生的异常。然后输入下标,如果抛出ArrayIndexOutOfBoundsException异常则显示,如果不抛出异常则不显示。
  2. null,产生NullPointerException
  3. cast,尝试将String对象强制转化为Integer对象,产生ClassCastException
  4. num,然后输入字符,转化为Integer,如果抛出NumberFormatException异常则显示。
  5. 其他,结束程序。

输入样例:

arr 4
null
cast
num 8
arr 7
num a
other

输出样例:

java.lang.NullPointerException
java.lang.ClassCastException: class java.lang.String cannot be cast to class java.lang.Integer (java.lang.String and java.lang.Integer are in module java.base of loader 'bootstrap')
java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 5
java.lang.NumberFormatException: For input string: "a"
import java.util.*;
public class Main{public static void main(String[] args) {int []arr = new int [5];Scanner input = new Scanner(System.in);while (input.hasNext()){String  a = input.next();if (a.equals("arr")){int b = input.nextInt();try {int d = arr[b];}catch (Exception e){System.out.println(e);}}else if (a.equals("num")){String  b = input.next();try{int d = Integer.parseInt(b);}catch (Exception e){System.out.println(e);}}else if (a.equals("cast")){try {Object str = new String("cc");System.out.println((Integer)(str));}catch (Exception e){System.out.println(e);}}else if (a.equals("null")){try {String t = null;int l = t.length();}catch (Exception e){System.out.println(e);}}else {break;}}}
}

7-4 jmu-Java-06异常-02-使用异常机制处理异常输入

分数 5

全屏浏览题目

切换布局

作者 郑如滨

单位 集美大学

使用异常处理输入机制,让程序变得更健壮。

main方法:

  1. 输入n,创建大小为n的int数组。
  2. 输入n个整数,放入数组。输入时,有可能输入的是非整型字符串,这时候需要输出异常信息,然后重新输入。
  3. 使用Arrays.toString输出数组中的内容。

输入样例:

5
1
2
a
b
4
5
3

输出样例:

java.lang.NumberFormatException: For input string: "a"
java.lang.NumberFormatException: For input string: "b"
[1, 2, 4, 5, 3]
import java.util.*;
public class Main{public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int []a=new int[n];int num=0;for(int i=0;i<n;i++){String s = sc.next();try {int t = Integer.parseInt(s);a[num] = t;num++;}catch(Exception e){System.out.println(e);i--;}}System.out.println(Arrays.toString(a));}
}

7-5 jmu-Java-06异常-03-throw与throws

分数 10

全屏浏览题目

切换布局

作者 郑如滨

单位 集美大学

前言

C语言中一般通过返回错误代码来表示一个函数执行是否有误。然而有的时候错误返回值可能与正常值相混淆。
Java中使用异常来表示程序运行中发生的错误。本实验的主要目的为了演示使用异常机制替代错误返回值。

题目内容

编写类ArrayUtils
方法:public static double findMax(double[] arr,int begin, int end)
方法功能:用来返回arr数组中在下标begin与end-1之间(包括end-1)的最大值。
注意:必须使用throws关键字声明findMax
方法说明:

  1. 要求begin<end,否则抛出相应的异常(IllegalArgumentException)。
  2. begin不得小于0,end不得大于arr.length,否则也抛出异常。

注意:抛出异常时,应让用户知道错误发生的原因。

main方法:

  1. 输入n,创建大小为n的int数组。
  2. 输入n个整数,放入数组。
  3. 输入若干对整数,代表begin与end,然后调用ArrayUtils.findMax方法。当输入的不是整数类型字符串,则退出输入循环。
  4. 最后使用如下代码打印标识信息
    try {System.out.println(ArrayUtils.class.getDeclaredMethod("findMax", double[].class,int.class,int.class));
    } catch (Exception e1) {
    }
    

输入样例:

5
1 3 5 6 8
0 5
3 3
3 4
3 2
-1 3
0 6
end

输出样例:

8.0
java.lang.IllegalArgumentException: begin:3 >= end:3
6.0
java.lang.IllegalArgumentException: begin:3 >= end:2
java.lang.IllegalArgumentException: begin:-1 < 0
java.lang.IllegalArgumentException: end:6 > arr.length
//这里是标识信息
import java.util.*;
class ArrayUtils{public static double findMax(double[] arr,int begin, int end) throws IllegalArgumentException {if (begin>=end) throw new IllegalArgumentException("begin:"+begin+" >= end:" + end);if (begin<0) throw new IllegalArgumentException("begin:"+begin+" < 0");if (end>arr.length) throw new IllegalArgumentException("end:"+end+" > arr.length");double max = arr[begin];for (int i=begin;i<end;i++)if (arr[i] > max) max = arr[i];return max;}
}
public class Main{public static void main(String[] args){Scanner sc = new Scanner(System.in);int begin,end;int n=sc.nextInt();double arr[]=new double[n];for(int i=0;i<n;i++){arr[i]=sc.nextDouble();}while (sc.hasNext()){try {int a=sc.nextInt(),b=sc.nextInt();System.out.println(ArrayUtils.findMax(arr,a,b));}catch (IllegalArgumentException e){System.out.println(e);}catch (Exception e){break;}}try {System.out.println(ArrayUtils.class.getDeclaredMethod("findMax", double[].class,int.class,int.class));} catch (Exception e1) {}}
}

7-6 list 存储动物对象

分数 10

全屏浏览题目

切换布局

作者 AMi

单位 临沂大学

本题要求在列表中存储动物,包括鸟和狗,请写代码完成下列内容:

1.定义抽象类Animal,包含私有属性name和age,为其完成setter、getter,带参构造方法,以及eclipse生成ToString方法

2.定义子类Bird继承Animal,完成带参构造方法,重写Tostring方法。

3.定义子类Dog继承Animal,添加属性leg,为其完成setter,getter,完成带参构造方法,重写ToString方法

4.在Main类的main方法中,定义列表list,在列表中规定只能放Dog和Bird,完成下列操作:

1.输入整数n,表示向列表中加入的对象的个数,然后向list中加入n个Animal
2.在加入每一个对象之前,若输入整数1,表示加入Dog对象,输入其他整数,加入Bird对象,然后通过键盘输入相关属性,创建对应对象,加入list中。
3.一次输出所有的list对象
4.键盘输入一个name,然后判断在列表中是否存在对象属性name与此相同,如果相同,输出其对象的类名,并输出对象的信息,
如果不存在对象name与键盘输入相同,显示“no this one"

输入格式:

请在这里写输入格式。例如:输入在一行中给出2个绝对值不超过1000的整数A和B。

输出格式:

请在这里描述输出格式。例如:对每一组输入,在一行中输出A+B的值。

输入样例:

在这里给出一组输入。例如:

4
1
tom 3 3
2
bir 2
1
may 3 5
2
baby 3
may
3
1
tom 3 2
2
may 4
1
jerry 3 1
tina

输出样例:

在这里给出相应的输出。例如:

[Dog[leg=3, name=tom, age=3], Bird[name=bir, age=2], Dog[leg=5, name=may, age=3], Bird[name=baby, age=3]]
Dog
Dog[leg=5, name=may, age=3]
[Dog[leg=2, name=tom, age=3], Bird[name=may, age=4], Dog[leg=1, name=jerry, age=3]]
no this one
import java.util.*;
class Animal{private String name;private int age;Animal(String name,int age){this.name=name;this.age=age;}public void setter(String name,int age){this.name=name;this.age=age;}public String getter1(){return this.name;}public int getter2(){return this.age;}public String baga() {return "Animal";}public String Tostring(){return "Animal[name="+getter1()+", age="+getter2()+"]";}
}
class Bird extends Animal{Bird(String name,int age){super(name,age);}public String Tostring(){return "Bird[name="+getter1()+", age="+getter2()+"]";}public String baga() {return "Bird";}
}
class Dog extends Animal{private int leg;Dog(String name,int age,int leg){super(name,age);this.leg=leg;}public void setter1(int leg){this.leg=leg;}public int getter3(){return this.leg;}public String Tostring(){return "Dog[leg="+getter3()+", name="+getter1()+", age="+getter2()+"]";}public String baga() {return "Dog";}
}
public class Main{public static void main(String[] args){Scanner sc=new Scanner(System.in);int n=sc.nextInt();int f;LinkedList<Animal> list=new LinkedList<Animal>();for(int i=0;i<n;i++){f=sc.nextInt();if(f==1){list.add(new Dog(sc.next(),sc.nextInt(),sc.nextInt()));}else{list.add(new Bird(sc.next(),sc.nextInt()));}}String na=sc.next();System.out.print("[");for(int i=0;i<n;i++){System.out.print(list.get(i).Tostring());if(i!=n-1)System.out.print(", ");}System.out.println("]");for(int i=0;i<n;i++){if(list.get(i).getter1().equals(na)){System.out.println(list.get(i).baga());System.out.print(list.get(i).Tostring());break;}if(i==n-1)System.out.println("no this one");}}
}

7-7 sdut-String-2 识蛟龙号载人深潜,立科技报国志(2)(正则表达式)

分数 10

全屏浏览题目

切换布局

作者 周雪芹

单位 山东理工大学

背景简介:

“蛟龙号”载人深潜器是我国首台自主设计自主集成研制的作业型深海载人潜水器,设计最大下潜深度为7000米级,也是目前世界上下潜能力最强的作业型载人潜水器。“蛟龙号”可在占世界海洋面积99.8%的广阔海域中使用,对于我国开发利用深海的资源有着重要的意义。

中国是继美、法、俄、日之后世界上第五个掌握大深度载人深潜技术的国家。在全球载人潜水器中,“蛟龙号”属于第一梯队。目前全世界投入使用的各类载人潜水器约90艘,其中下潜深度超过1000米的仅有12艘,更深的潜水器数量更少,目前拥有6000米以上深度载人潜水器的国家包括中国、美国、日本、法国和俄罗斯。除中国外,其他4国的作业型载人潜水器最大工作深度为日本深潜器的6527米,因此“蛟龙号”载人潜水器在西太平洋的马里亚纳海沟海试成功到达7020米海底,创造了作业类载人潜水器新的世界纪录

从2009年至2012年,蛟龙号接连取得1000米级、3000米级、5000米级和7000米级海试成功。下潜至7000米说明蛟龙号载人潜水器集成技术的成熟标志着我国深海潜水器成为海洋科学考察的前沿与制高点之一

2012年6月27日11时47分,中国“蛟龙”再次刷新“中国深度”——下潜7062米。6月3日,“蛟龙”出征以来,已经连续书写了5个“中国深度”新纪录:6月15日,6671米;6月19日,6965米;6月22日,6963米;6月24日,7020米;6月27日,7062米。下潜至7000米,标志着我国具备了载人到达全球99%以上海洋深处进行作业的能力,标志着“蛟龙”载人潜水器集成技术的成熟,标志着我国深海潜水器成为海洋科学考察的前沿与制高点之一,标志着中国海底载人科学研究和资源勘探能力达到国际领先水平

‘蛟龙’号是我国载人深潜发展历程中的一个重要里程碑。它不只是一个深海装备,更代表了一种精神,一种不畏艰险、赶超世界的精神,它是中华民族进军深海的号角。

了解蛟龙号”载人深潜器“的骄人业绩,为我国海底载人科学研究和资源勘探能力达到国际领先水平而自豪,小伙伴们与祖国同呼吸、共命运,一定要学好科学文化知识、提高个人能力,增强创新意识,做事精益求精,立科技报国之志!

请编写程序,实现如下功能:读入关于蛟龙号载人潜水器探测数据的多行字符串,从给定的信息找出数字字符,输出每行的数字之和。

提示 若输入为“2012年2月”,则该行的输出为:2014。若干个连续的数字字符作为一个整体,以十进制形式相加。

输入格式:

读入关于蛟龙号载人潜水器探测数据的多行字符串,每行字符不超过80个字符。

以"end"结束。

输出格式:

与输入行相对应的各个整数之和。

输入样例1:

2012年6月27日11时47分,中国“蛟龙”再次刷新“中国深度”——下潜7062米
6月15日,6671米
6月19日,6965米
6月22日,6963米
6月24日,7020米
6月27日,7062米
下潜至7000米,标志着我国具备了载人到达全球99%以上海洋深处进行作业的能力
end

输出样例1:

9165
6692
6990
6991
7050
7095
7099

输入样例2:

全世界投入使用的各类载人潜水器约90艘,下潜深度超过1000米的仅有12艘,更深的潜水器数量更少
6000米以上深度载人潜水器的国家包括中国、美国、日本、法国和俄罗斯
日本深潜器下潜6527米,蛟龙号在马里亚纳海沟海试成功到达7020米海底,创造了新的世界纪录
从2009年至2012年,蛟龙号接连取得1000米级、3000米级、5000米级和7000米级海试成功
下潜至7000米,说明蛟龙号载人潜水器集成技术的成熟
end

输出样例2:

1102
6000
13547
20021
7000
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);String line = in.nextLine();Pattern p = Pattern.compile("[0-9]+");int sum;while(!line.equals("end")) {Matcher m = p.matcher(line);sum = 0;while (m.find()) {sum += Integer.valueOf(m.group());}System.out.println(sum);line = in.nextLine();}}
}

7-8 sdut-oop-7 答答租车系统(类的继承与多态 面向对象综合练习)

分数 10

全屏浏览题目

切换布局

作者 周雪芹

单位 山东理工大学

各位面向对象的小伙伴们,在学习了面向对象的核心概念——类的封装、继承、多态之后,答答租车系统开始营运了。

请你充分利用面向对象思想,为公司解决智能租车问题,根据客户选定的车型和租车天数,来计算租车费用,最大载客人数,最大载载重量。

公司现有三种车型(客车、皮卡车、货车),每种车都有名称和租金的属性;其中:客车只能载人,货车只能载货,皮卡车是客货两用车,即可以载人,也可以载货。

下面是答答租车公司的可用车型、容量及价目表:

要求:根据客户输入的所租车型的序号及天数,计算所能乘载的总人数、货物总数量及租车费用总金额。

输入格式:

首行是一个整数:代表要不要租车 1——要租车(程序继续),0——不租车(程序结束);

第二行是一个整数,代表要租车的数量N;

接下来是N行数据,每行2个整数m和n,其中:m表示要租车的编号,n表示租用该车型的天数。

输出格式:

若成功租车,则输出一行数据,数据间有一个空格,含义为:
载客总人数 载货总重量(保留2位小数) 租车金额(整数)
若不租车,则输出:
0 0.00 0(含义同上)

输入样例:

1
2
1 1
2 2

输出样例:

在这里给出相应的输出。例如:

15 0.00 1600
import java.util.*;
class Car {public int num;public int person;public double ton;public int money;public Car() {this.num = 0;this.person = 0;this.ton = 0;this.money = 0;}public Car(int num,int person,double ton,int money) {this.num = num;this.person = person;this.ton = ton;this.money = money;}public int getNum() {return num;}public void setNum(int num) {this.num = num;} public int getPerson() {return person;}public void setPerson(int person) {this.person = person;}public double getTon() {return ton;}public void setTon(int ton) {this.ton = ton;}public int getMoney() {return money;}public void setMoney(int money) {this.money = money;}public int getRant(int day) {return day * money;}
}
public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);Car[] car = new Car[11];car[1] = new Car(1, 5, 0, 800);car[2] = new Car(2, 5, 0, 400);car[3] = new Car(3, 5, 0, 800);car[4] = new Car(4, 51, 0, 1300);car[5] = new Car(5, 55, 0, 1500);car[6] = new Car(6, 5, 0.45, 500);car[7] = new Car(7, 5, 2.0, 450);car[8] = new Car(8, 0, 3, 200);car[9] = new Car(9, 0, 25, 1500);car[10] = new Car(10, 0, 35, 2000);int fg = scanner.nextInt();if (fg == 1) {int sumPer = 0, sumMon = 0;double sumTon = 0;int N = scanner.nextInt();for (int i = 0; i < N; i++) {int m = scanner.nextInt();int n = scanner.nextInt();sumPer += (car[m].person * n);sumTon += (car[m].ton * n);sumMon += (car[m].money * n);}System.out.print(sumPer + " ");System.out.printf("%.2f",sumTon);System.out.println(" " + sumMon);} else if (fg == 0) {System.out.println("0 0.00 0");}}}

7-9 sdut-Collection-sort--C~K要找女朋友了!

分数 10

全屏浏览题目

切换布局

作者 周雪芹

单位 山东理工大学

临近11.11,C~K看见周围的朋友一个个的都脱单或者正准备脱单了,C~K也想要找一个女朋友了(听说国家会分配?)。MeiK听说了这件事情,表示C~K终于开悟了,所以他整理了一份候选人名单给C~K。可是C~K心里有自己心动女生的身高区间和年龄限制,所以他想把符合条件的女生的信息给筛选出来,但是这可是难住了C~K,事关C~K的幸福,你能帮帮他吗?

提示:MeiK提供的名单里可能会有重复的女生的信息。

输入格式:

多组输入。

第一行输入MeiK的候选人名单里有N个人(N<100000)。

第二行输入四个整数a,b,c,d。分别表示C~K心动女生的身高的最小值和最大值,年龄的最小值和最大值。(题目保证a<=b,c<=d)

接下来输入N行,每行表示一个女生的信息(姓名,身高,年龄,联系方式)

ps:联系方式不超过11个字符。

输出格式:

对于每一组输入,第一行输出一个n,表示符合条件的女生的数量。

接下来的n行,每一行输出一个符合条件的女生的信息。

输出顺序按身高从低到高排序,若身高相同,则按年龄从高到底排序,若年龄也相同,则按照输入顺序输出。

输入样例:

4
160 170 20 22
女神1 161 19 11111
女神2 167 20 22222
女神2 167 20 22222
女神3 163 21 33333
3
160 170 20 30
CHRR 161 29 22222
MICK 161 29 11111
KATE  161 39 22222

输出样例:

2
女神3 163 21 33333
女神2 167 20 22222
2
CHRR 161 29 22222
MICK 161 29 11111
import java.util.*;
class person{String name;int high;int age;int phone;person(String name,int high,int age,int phone){this.name=name;this.high=high;this.age=age;this.phone=phone;}public String getter1(){return this.name;}public int getter2(){return this.high;}public int getter3(){return this.age;}public int getter4(){return this.phone;}
}
public class Main {public static void remove1(ArrayList<person> p){//去重方法String str;for(int i=0;i<p.size();i++){str=p.get(i).getter1();for(int j=i+1;j<p.size();j++){//往后找if(str.equals(p.get(j).getter1()))p.remove(j);}for(int j=i-1;j>=0;j--){if(str.equals(p.get(j).getter1()))p.remove(j);}}}public static void paixu(ArrayList<person> p1){int min;int max;person t;for(int i=0;i<p1.size()-1;i++){min=i;for(int j=i+1;j<p1.size();j++){if(p1.get(min).getter2()>p1.get(j).getter2()){min=j;}}t=p1.get(i);p1.set(i,p1.get(min));p1.set(min,t);}for(int i=0;i<p1.size()-1;i++){max=i;for(int j=i+1;j<p1.size();j++){if((p1.get(max).getter3()<p1.get(j).getter3())&&p1.get(max).getter2()==p1.get(j).getter2()){max=j;}t=p1.get(i);p1.set(i,p1.get(max));p1.set(max,t);}}}public static void main(String[] args){Scanner sc=new Scanner(System.in);int n;int minh;int maxh;int mina;int maxa;while(sc.hasNext()){n=sc.nextInt();minh=sc.nextInt();maxh=sc.nextInt();mina=sc.nextInt();maxa=sc.nextInt();ArrayList<person> p=new ArrayList<person>();ArrayList<person> p1=new ArrayList<person>();for(int i=0;i<n;i++){p.add(new person(sc.next(),sc.nextInt(),sc.nextInt(),sc.nextInt()));}remove1(p);for(int i=0;i<p.size();i++){if(p.get(i).getter2()>=minh&&p.get(i).getter2()<=maxh&&p.get(i).getter3()>=mina&&p.get(i).getter3()<=maxa){p1.add(p.get(i));}}paixu(p1);System.out.println(p1.size());for(int i=0;i<p1.size();i++) {System.out.println(p1.get(i).getter1()+" "+p1.get(i).getter2()+" "+p1.get(i).getter3()+" "+p1.get(i).getter4());}}}
}

java题目集合第四部分(pta)相关推荐

  1. Java中集合(四)LinkedList

    一.概述 基于链表 内存空间不连续.增删较快,查询首尾特快 ,但是查询其他位置较慢 元素可以重复,列表中的元素会被自动编号 本身是线程不安全的集合 每一个元素都有三部分组成: 头部:存放上一个节点的地 ...

  2. 【JAVA】-- 集合(四)(Map)

    Map接口是一种双列集合,它的每个元素都包含一个键对象Key和值对象Value,健和值对象之间存在一种对应关系,称为映射.从Map集合中访问元素时,只要指定的Key,就能找到对应的Value. 主要实 ...

  3. 【零基础学Java】—LinkedList集合(四十)

    [零基础学Java]-LinkedList集合(四十) java.util.linkedList集合implements list接口 linkedList 集合的特点: 底层是一个链表结构,查询慢, ...

  4. java基础集合操作工具类Collections简述(java集合四)

    对集合中的元素进行排序 Collections中的sort方法使用 public class ListDemo {public static void main(String[] args) {Lis ...

  5. (7)Java数据结构--集合map,set,list详解

    MAP,SET,LIST,等JAVA中集合解析(了解) - clam_clam的专栏 - CSDN博---有颜色, http://blog.csdn.net/clam_clam/article/det ...

  6. 20200909:链表类题目集合下

    链表类题目集合下 题目 思路与算法 代码实现 写在最后 题目 1.138. 复制带随机指针的链表 2.21. 合并两个有序链表 3.23. 合并K个升序链表 思路与算法 返回深拷贝这个题目的意思读清楚 ...

  7. JAVA数独解题(四):数对法

    JAVA数独解题(四):数对法 说明 图片 算法代码 CalcEnum SuDuiCalc SudoUtil 输出结果 总结 代码详情 说明 数对:两个单元格,两个数字.两个数字在当前区域(行.列.宫 ...

  8. 1024程序员节最新福利之2018最全java资料集合

    前言 有好久没有写博客了,主要这段时间都沉迷学习无法自拔了,哈哈.自吹一波. 前两天不是1024节吗,所以就有很多福利出现了,当然每个人能都获得的信息都有所不同,这就是所谓的信息差.秉着好东西需要分享 ...

  9. (JAVA练习)输入一个四位数,各个位的数字相加

    题目: 输入一个四位数,各个位的数字相加 解法1: import java.util.Scanner;public class While1117 {public static void main(S ...

最新文章

  1. 近期活动盘点:首期AI Time PhD:清北师兄分享前沿研究成果、“科技驱动,正向创新”医工结合高峰论坛...
  2. 什么是CPU的虚拟化技术?优势又是什么
  3. mybatis mapper绑定
  4. 记一下常用shell,防止自己忘了。。。记性不好
  5. 你跟大神程序员的差距,就在这8本内功心法
  6. 开放式系统编程技术_使用开放式硬件构建更好的辅助技术
  7. leetcode Add Digits
  8. Oracle 10g dbms_rowid 包源码
  9. 基于sklearn 的one hot encoding
  10. 实现单个页面,多个百度分享(动态修改百度分享链接)
  11. 史上最全综述:3D目标检测算法汇总!
  12. python基础day-15:time、hash、json
  13. MATLAB的符号运算基础
  14. 百度绿萝2.0上线后,新站该如何做SEO?
  15. Skywalking使用与探针机制
  16. Pycharm 警告去除
  17. 计算机网络与协议分析,计算机网络-使用网络协议分析器捕捉和分析协议数据包...
  18. 计算机应用基础(专)【11】
  19. Arcpy 通过mxd模版生成专题图
  20. react学习笔记(完整版 7万字超详细)

热门文章

  1. 计算机死亡公式,半数致死量及其计算方法概述.pdf
  2. Eclipse自定义设置显示隐藏工具栏toolbar
  3. 演化模型(Evolutionary Model)
  4. 企业如何挖掘自身大数据的价值?
  5. php设置rabbitmq重试,RabbitMQ实现重试次数方法一-SpringRetry
  6. 13.ROS编程学习:话题发布控制乌龟
  7. java客户咨询问题_对客户进行需求分析时,你会问哪些问题?请列举八个。
  8. unity 移动改变朝向_移动化改变生活的12种方式
  9. 艾默生质量流量计的工作原理
  10. 代理服务器连接失败 电脑不能上网