有 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 (selection) {
     case 1:
         for (Teacher teacher : teachers) {
             System.out.printf("%s ", teacher.getName());
         }
         break;
 }

共 (3) 个答案

  1. # 1 楼答案

    方法:

    public void printTeachers(set<Teacher> teachers){
      for (Teacher teacher : teachers) {
        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;
    
  2. # 2 楼答案

    private void showNames(Set<Teacher> teachers) {
        for (Teacher teacher : teachers) {
            System.out.printf("%s ", teacher.getName());
        }
    }
    

    调用:

    showNames(teachers);
    

    请注意break并没有包含在函数中。该函数将无法访问case语句的作用域,因此break将不会执行任何操作。确保break遵循函数调用

    另外要指出的是我在函数中使用的类型。我用了一个Set。马特·鲍尔用了一个Iterable。为了比较,我将保留我的,但是使用Iterable是最好的!原因是所有集合类型都实现了Iterable接口。在函数内部,我们只是在集合上迭代。因此,更通用的Iterable是参数的最佳类型选择

  3. # 3 楼答案

    声明:

    void printNames(Iterable<Teacher> teachers) {
        for (Teacher teacher : teachers) {
            System.out.printf("%s ", teacher.getName());
        }
    }
    

    用法:

    switch (selection) {
         case 1:
             printNames(teachers);
             break;