1.从键盘随机输入10个整数保存到List中,并按照倒序、从大到小的顺序显示出来。
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class exer1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
ArrayList arrayList = new ArrayList();
for (int i = 0; i < 10; i++) {
arrayList.add(scanner.nextInt());
}
//倒序
Collections.reverse(arrayList);
System.out.println(arrayList);
//从大到小
Collections.sort(arrayList);
Collections.reverse(arrayList);
System.out.println(arrayList);
}
}
2.请把学生名与考试分数录入到集合中,并按照分数显示前三名成绩学员的名字。 TreeSet(Srudent(name,score))
Student类:
public class Student implements Comparable {
private String name;
private int score;
public Student() {
}
public Student(String name, int score) {
this.name = name;
this.score = score;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getSocre() {
return score;
}
public void setSocre(int score) {
this.score = score;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", score=" + score +
'}';
}
@Override
public int compareTo(Object o) {
if (o instanceof Student) {
Student stu = (Student) o;
return -(this.score - stu.score);
}
throw new RuntimeException("输入类型不匹配!");
}
}
测试代码:
import org.junit.Test;
import java.util.Iterator;
import java.util.TreeSet;
/**
* 请把学生名与考试分数录入到集合中,并按照分数显示前三名成绩学员的名字。
*/
public class exer2 {
@Test
public void test() {
TreeSet treeSet = new TreeSet();
Student s1 = new Student("Tom", 98);
Student s2 = new Student("Jerry", 80);
Student s3 = new Student("Jack", 85);
Student s4 = new Student("Amy", 95);
Student s5 = new Student("Bob", 100);
treeSet.add(s1);
treeSet.add(s2);
treeSet.add(s3);
treeSet.add(s4);
treeSet.add(s5);
Iterator iterator = treeSet.iterator();
for (int i = 0; i < 3; i++) {
System.out.println(iterator.next());
}
}
}
3.姓氏统计:一个文本文件中存储着所有北京高校在校生的名字,格式如下:
每行一个名字,姓与名以空格分隔;
张 三
李 四
王 小五
现在想统计所有的姓氏在文件中出现的次数。
4.对一个Java源文件中的关键字进行计数。
提示:Java源文件中的每一个单词,需要确定该单词是否是一个关键字。为了高效处理这个问题,将所有的关键字保存在一个HashSet中,用contains()来测试。