实验内容:
(1)定义一个泛型类Instrument<E >,其中包括一个泛型方法void play(E x)。
定义两种乐器类:Cello、Violin 可以进行演奏。
定义一个测试类进行测试。
package ex111;
public class Violin {
public String toString()
{
System.out.println("violin.........");
return "";
}
}
package ex111;
public class Test_Main {
public static void main(String[] args) {
instrument<Cello>model = new instrument<Cello>();
instrument<Violin>model1 = new instrument<Violin>();
Cello cello = new Cello();
Violin violin = new Violin();
model.play(cello);
model1.play(violin);
}
}
package ex111;
class instrument<E> {//泛型类
void play(E x)
{
x.toString();
}
}
package ex111;
public class Cello {
public String toString(){
System.out.println("cello.........");
return "";
}
}
(2)输入10 个数字保存到List 中,并按倒序显示出来。
package ex112;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
public class Test{
public static void main(final String[] args) {
final List<Integer> integers = new ArrayList<Integer>();
final Scanner scanner = new Scanner(System.in);
for (int i = 1; i <= 3; i++) {
try {
System.out.println("输入第" + i + "个数吧");
final int input = Integer.parseInt(scanner.next());
integers.add(input);
}
catch (final Throwable e) {
System.err.println("这不是个数字,我可是超级程序");
i--;
continue;
}
}
//Collections.sort(integers);// 自然排
Collections.reverse(integers);// 倒排
for (final Integer integer : integers) {
System.out.println(integer);
}
}
} System.out.println(integer);
}
}
}
package ex113;
import java.util.HashMap;
import java.util.Map;
public class Test {
public static void main(String[] args) {
Map<String,Integer> map=new HashMap<String,Integer>();
Sort s=new Sort();
s.creatMap(map);
s.Sort(map);
}
}
(3)编写一个程序,把学生名和考试分数录入到Map 中,并按分数显示前三名学生的名字。
要求定义Student 类,封装学生名和考试分数 2 个属性及方法。
、TreeMap、TreeSet;
package ex113;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class Student {
private String name;
private int score;
public Student(){
}
public Student(String name,int score) { =name;
this.score=score;
}
public String getName() {
return name;
}
public void setName(String name) {
= name;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
}
package ex113;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
public class Sort {
public void creatMap(Map<String,Integer> map){
Scanner input=new Scanner(System.in);
System.out.println("请输入学生人数");
int number=input.nextInt();
System.out.println("请输入学生姓名和分数:");
for(int i=0;i<number;i++){
Student stu=new Student(input.next(),input.nextInt());
map.put(stu.getName(),stu.getScore());
}
}
public void Sort(Map<String,Integer> map){
Collection<Integer> score = map.values();
Set<Integer> set=new HashSet<Integer>();
for(Integer s:score)
set.add(s);
List<Integer>list=new ArrayList(set);
Collections.sort(list);
Collections.reverse(list);
Set<String> name = map.keySet();
System.out.println("前三名学生的姓名是:");
int m=0;
for(Integer i:list){
m++;
if(m<=3){
for(String s:name)
{
if(i==map.get(s))
System.out.println("第"+m+"名:"+s);
}
}
}
}
}。