实验内容:
(1) 定义一个泛型类Instrument<E 〉,其中包括一个泛型方法void pla y(E x)。
定义两种乐器类:Cello、Violin 可以进行演奏。
定义一个测试类进行测试.
package ex111;
public class Violin{
publicString toString()
{
System、out、println("violin、、、、、、、、、");
return ””;
}
}
package ex111;
public class Test_Main{
public staticvoid main(String[]args){
instrument〈Cello>model = new instrument〈Cello〉();
instrument<Violin〉model1 = new instrument〈Violin〉();
Cello cello= newCello();
Violin violin= new Violin();
model、play(cello);
model1、play(violin);
}
}
packageex111;
classinstrument〈E〉{//泛型类
void play(E x)
{
x、toString();
}
}
package ex111;
publicclass Cello {
public String toString(){
System、out、println("cello、、、、、、、、、");
ﻩreturn ”";
}
}
(2) 输入10 个数字保存到List 中,并按倒序显示出来。
packageex112;
import java、util、ArrayList;
importjava、util、Collections;
import java、util、List;
importjava、util、Scanner;
public class Test{
public static void main(final String[]args) {
ﻩfinal List〈Integer> integers = new ArrayList<Integer>();
ﻩfinal Scanner scanner= newScanner(System、in);
for (inti= 1;i <= 3;i++){
ﻩtry {
ﻩSystem、out、println("输入第" + i + ”个数吧");
final intinput= Integer、parseInt(scanner、next());
integers、add(input);
}
catch(finalThrowable 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;
importjava、util、Map;
publicclass 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;
importjava、util、ArrayList;
import java、util、Collection;
import java、util、Collections;
importjava、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(Stringname,intscore){
this、name=name;
this、score=score;
}
public String getName(){
return name;
}
publicvoid setName(String name){
this、name= name;
}
public intgetScore(){
return score;
}
publicvoidsetScore(int score){
this、score=score;
}
}
package ex113;
import java、util、ArrayList;
import java、util、Collection;
import java、util、Collections;
importjava、util、HashSet;
import java、util、List;
import java、util、Map;
importjava、util、Scanner;
import java、util、Set;
publicclass Sort {
public voidcreatMap(Map〈String,Integer>map){
Scanner input=new Scanner(System、in);
System、out、println("请输入学生人数");
intnumber=input、nextInt();
System、out、println("请输入学生姓名与分数:");
for(inti=0;i〈number;i++){
Studentstu=new Student(input、next(),input、nextInt());
map、put(stu、getName(),stu、getScore());
}
}
public voidSort(Map〈String,Integer>map){
Collection<Integer〉score =map、values();
Set〈Integer> set=new HashSet<Integer>();
for(Integers: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(Integeri:list){
m++;
if(m<=3){
for(Strings:name)
{
if(i==map、get(s))
System、out、println(”第”+m+”名:"+s);
}
}
}
}
}。