java问题 求大神解答
周末练习题:二战期间,战争国间谍活动非常密切,所有英国间谍(BritishSpy)有讲英语的特点(speak()方法),所有德国间谍(GermanSpy)都具有讲德语的特...
周末练习题:二战期间,战争国间谍活动非常密切,所有英国间谍(BritishSpy)有讲英语的特
点(speak()方法),所有德国间谍(GermanSpy)都具有讲德语的特点(sprechen方法)。还有一种双重间谍,既可以讲英语又可以讲德语,可以分别输出Hello和Gutentag。
情报机关(Agency)具有两个方法一个是军情5处(toMI5)的间谍测试方法,可以传入英国间谍,并调用讲英语的方法,输出结果;另一个是德国情报处(inGermany)的间谍测试方法,可以传入德国间谍,并调用讲德语的方法,输出结果。
创建德国间谍和英国间谍分别进行测试。
创建双重间谍进行测试,看是否能同时通过军情5处和德国情报处的间谍检测。 展开
点(speak()方法),所有德国间谍(GermanSpy)都具有讲德语的特点(sprechen方法)。还有一种双重间谍,既可以讲英语又可以讲德语,可以分别输出Hello和Gutentag。
情报机关(Agency)具有两个方法一个是军情5处(toMI5)的间谍测试方法,可以传入英国间谍,并调用讲英语的方法,输出结果;另一个是德国情报处(inGermany)的间谍测试方法,可以传入德国间谍,并调用讲德语的方法,输出结果。
创建德国间谍和英国间谍分别进行测试。
创建双重间谍进行测试,看是否能同时通过军情5处和德国情报处的间谍检测。 展开
2个回答
展开全部
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();
}
}
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();
}
}
展开全部
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);
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询