java问题 求大神解答

周末练习题:二战期间,战争国间谍活动非常密切,所有英国间谍(BritishSpy)有讲英语的特点(speak()方法),所有德国间谍(GermanSpy)都具有讲德语的特... 周末练习题:二战期间,战争国间谍活动非常密切,所有英国间谍(BritishSpy)有讲英语的特

点(speak()方法),所有德国间谍(GermanSpy)都具有讲德语的特点(sprechen方法)。还有一种双重间谍,既可以讲英语又可以讲德语,可以分别输出Hello和Gutentag。

情报机关(Agency)具有两个方法一个是军情5处(toMI5)的间谍测试方法,可以传入英国间谍,并调用讲英语的方法,输出结果;另一个是德国情报处(inGermany)的间谍测试方法,可以传入德国间谍,并调用讲德语的方法,输出结果。

创建德国间谍和英国间谍分别进行测试。

创建双重间谍进行测试,看是否能同时通过军情5处和德国情报处的间谍检测。
展开
 我来答
子有鱼迩
2020-04-15 · TA获得超过1231个赞
知道小有建树答主
回答量:2287
采纳率:49%
帮助的人:378万
展开全部
package b;

import java.util.ArrayList;

import java.util.HashSet;

import java.util.Iterator;

import java.util.List;

import java.util.Set;

public class LianXi2 {

public static void main(String[] args) {
ArrayList list = new ArrayList(); //使用ArrayList保存所有学生的信息,要求指明泛型类为Student,集合对象为list
list.add(new Student("Tom", 18, 100, "class05"));

list.add(new Student("Jerry", 22, 70, "class04"));

list.add(new Student("Owen", 25, 90, "class05"));

list.add(new Student("Jim", 30,80 , "class05"));

list.add(new Student("Steve", 28, 66, "class06"));

list.add(new Student("Kevin", 24, 100, "class04"));

int sage=0;//统计age的和

Iterator it = list.Iterator(); //创建学生列表的迭代器对象it,并指明泛型类型为Student

Set bjSet= new HashSet();//使用HashSet集合对象,保存班级编号,指明泛型为String。

while( it.hasNext()){ //使用迭代器,遍历学生列表。

Student s= it.next();//获取每个学生对象

sage+=s.getAge(); //累加每个学生的成绩

bjSet.add(s.getClassNum());//把学生的班级保存到bjSet集合中

}

System.out.println("平均年龄:" + sage/list.size());//以格式“平均年龄:26”,输出平均成绩

//使用二重循环遍历每个班级的学生,统计出每个班级的学生的成绩,和学生的个数

for(String bj:bjSet){ //使用增强型for遍历每个班级

int score=0;//保存每个班级的成绩

int count=0;//保存每个班级的学生数量

for(Student s:list){ //使用增强型for遍历每个学生

if( s.getClassNum().equal(bj)){//判断学生是否在这个班级中

score+=s.getScore(); //累加成绩

count+=1; //学生计数

}

}

System.out.println(bj + "---平均成绩---" + score/count);//以格式“class06---平均成绩---66”格式输出成绩

}

}

}

class Student{

private String name;

private int age;

private int score;

private String classNum;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public int getScore() {

return score;

}

public void setScore(int score) {

this.score = score;

}

public String getClassNum() {

return classNum;

}

public void setClassNum(String classNum) {

this.classNum = classNum;

}

public Student(String name, int age, int score, String classNum) {

super();

this.name = name;

this.age = age;

this.score = score;

this.classNum = classNum;

}

public Student() {

super();

}

}
yugi111
推荐于2016-06-04 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
interface BritishSpy{
    void speak();
}
interface GermanSpy{
    void sprechen();
}
class Spy implements BritishSpy, GermanSpy{
    public void speak(){
        System.out.println("Hello");
    }
    public void sprechen(){
        System.out.println("Gutentag");
    }
}
class Agency{
    void toMI5(BritishSpy bs){
        bs.speak();
    }
    void inGermany(GermanSpy gs){
        gs.sprechen();
    }
}

public class Main{
    public static void main(String[] args){
        BritishSpy bs = new Spy();
        bs.speak();
        GermanSpy gs = new Spy();
        gs.sprechen();
        Agency agency = new Agency();
        agency.toMI5(bs);
        agency.inGermany(gs);
        Spy spy = new Spy();
        agency.toMI5(spy);
        agency.inGermany(spy);
    }
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式