在Java中创建方法
a如何将案例1的内容放入方法并调用它 请参阅下面的代码片段:在Java中创建方法,java,Java,a如何将案例1的内容放入方法并调用它 请参阅下面的代码片段: Teacher jane = new Teacher("jane"); Teacher alex = new Teacher("alex"); Set<Teacher> teachers = new HashSet<Teacher>(); teachers.add(jane); teachers.add(alex); int selection = scan.nextInt(); switch
Teacher jane = new Teacher("jane");
Teacher alex = new Teacher("alex");
Set<Teacher> teachers = new HashSet<Teacher>();
teachers.add(jane);
teachers.add(alex);
int selection = scan.nextInt();
switch (selection) {
case 1:
for (Teacher teacher : teachers) {
System.out.printf("%s ", teacher.getName());
}
break;
}
教师简=新教师(“简”);
alex教师=新教师(“alex”);
Set teachers=newhashset();
加上(简);
教师。添加(alex);
int selection=scan.nextInt();
开关(选择){
案例1:
适用于(教师:教师){
System.out.printf(“%s”,teacher.getName());
}
打破
}
请注意,中断
未包含在函数中。函数将无法访问case
语句的范围,因此break
将不起任何作用。确保函数调用之后有break
另外要指出的是我在函数中使用的类型。我使用了一个集合
。马特·鲍尔使用了一个Iterable
。为了便于比较,我将保留我的,但是使用Iterable
是最好的!原因是所有集合类型都实现了Iterable
接口。在函数内部,我们只是在集合上迭代。因此,更通用的Iterable是参数的最佳类型选择。方法:
public void printTeachers(set<Teacher> teachers){
for (Teacher teacher : teachers) {
System.out.printf("%s ", teacher.getName());
}
}
公共教师(设置教师){
适用于(教师:教师){
System.out.printf(“%s”,teacher.getName());
}
}
其他代码:
Teacher jane = new Teacher("jane");
Teacher alex = new Teacher("alex");
Set<Teacher> teachers = new HashSet<Teacher>();
teachers.add(jane);
teachers.add(alex);
int selection = scan.nextInt();
switch (selection) {
case 1:
printTeachers(teachers);
break;
教师简=新教师(“简”);
alex教师=新教师(“alex”);
Set teachers=newhashset();
加上(简);
教师。添加(alex);
int selection=scan.nextInt();
开关(选择){
案例1:
版画教师(教师);
打破
声明:
void printNames(Iterable<Teacher> teachers) {
for (Teacher teacher : teachers) {
System.out.printf("%s ", teacher.getName());
}
}
请参阅Oracle的Java教程。使用您的
“IDE->Refactor->Extract方法”
,顺便提一下,我向您推荐一本Martin Fowler和Kent Beck撰写的关于这一主题的书——《重构:改进现有代码的设计》。@GETah,如果他不能手动完成这项工作,您真的认为他正在使用一个成熟的IDE吗?:)
Teacher jane = new Teacher("jane");
Teacher alex = new Teacher("alex");
Set<Teacher> teachers = new HashSet<Teacher>();
teachers.add(jane);
teachers.add(alex);
int selection = scan.nextInt();
switch (selection) {
case 1:
printTeachers(teachers);
break;
void printNames(Iterable<Teacher> teachers) {
for (Teacher teacher : teachers) {
System.out.printf("%s ", teacher.getName());
}
}
switch (selection) {
case 1:
printNames(teachers);
break;