当前位置: 首页 > 知识库问答 >
问题:

Java-使用另一个类中的变量作为方法参数

严阳夏
2023-03-14

在我的主课程中,我有一段代码:

UUID uniqueID;

public void createEmployee(){       
    uniqueID = UUID.randomUUID(); 
    // ...
}

在我的类Corporation中有一个名为促销员的方法,它应该接收uniqueID作为参数。这可能吗,当是时,如何?

public void promoteEmployee(uniqueID){
   // it doesn't recognize uniqueID as argument
}

我还有一种方法,即按字母顺序对ArrayList进行排序,如果两个名字相等,则应首先打印工资较高的员工。它按字母顺序对列表进行排序,但不检查薪水是否更高。我需要改变什么?

ArrayList<Employee> employees = new ArrayList<Employee>(); 

public void sortEmployees(){
    Collections.sort(employees, (p1, p2) -> p1.name.compareTo(p2.name));
    for(Employee employee: employees){
        Comparator.comparing(object -> employee.name).thenComparingDouble(object -> employee.grossSalary);
        System.out.println("ID: " + employee.ID + END_OF_LINE + "Name: "+employee.name + END_OF_LINE + "Salary: " + employee.grossSalary);
        System.out.println(""); // just an empty line
    }
}

共有2个答案

壤驷高洁
2023-03-14

通过使用类名,可以将变量从一个类传递到另一个类的方法。方法(arg)语法。

    public class JavaTeachMe2018

{
    //variable in other class to be passed as a method argument
    public static int startID = 0;

    public static void main(String[] args)
    {
        // we are passing startID to anouther class's method
        String[] currentEmployees = Corporation.createEmployee(startID);
        System.out.println("Welcome " + currentEmployees[1] + " to the company as employee number " + currentEmployees[0]);
    }
}// end class teachme

这是第二节课

 import java.util.Scanner;
public class Corporation
{

    public static int createId(int startID)
    {
            // create unique id
            int uniqueID = startID + 1;
            return uniqueID;
    }
    public static String[] createEmployee(int startID)
    {

        // assign a variable to the return of the createId call
        int employeeNumber = createId(startID);
        System.out.println("Your assigned employee number is " + employeeNumber);
        // get employee name
        Scanner stdin = new Scanner(System.in);
        System.out.print(" Enter Your Name : ");
        String employeeName = stdin.nextLine();
        String employees[] = {Integer.toString(employeeNumber), employeeName};
        return employees;
    }
}
西门嘉澍
2023-03-14

方法更改为有效的java代码

public void promoteEmployee(UUID uniqueID){

但由于它似乎是一个字段,为什么要传递该值呢?

至于排序,请参见实现Java Comparator

 类似资料:
  • 我试图创建一个简单的程序来输出由用户输入的星星的数量。我正在尝试学习如何使用一个以上的方法来做到这一点,这是我的代码 我面临的问题是,在循环方法中,我不能使用变量n,有没有办法在main方法中使用变量,在另一个方法中使用变量?泰 -平古

  • 我想知道是否可以将变量和(它们都位于类中的方法中)用于类中的方法,以便在类中输入的用户名和密码将与类中的输入匹配。

  • 问题内容: 用Java开发一个简单的井字游戏。 我有一个名为的课程。此类应包含有用的游戏方法。游戏发生在另一个班级。 中的方法是。该方法应该将所有9个按钮(井字游戏板)上的文本设置为空白,再次将它们设置为启用,然后将变量设置为1。 这是它的代码: 是游戏主类中的JButtons数组。 该方法以前在游戏的主要类中使用。但是现在它在不同的类中,它无法到达该类中的按钮并对其进行操作。 我在中创建了get

  • 我需要了解如何将方法返回到方法中,以打印出计算机的随机选择。 打印语句之后的最后一个方法不完整;我只是被这部分卡住了。

  • 问题内容: 我试图衡量几种方法的执行时间。所以我在想做一个方法,而不是多次重复相同的代码。 这是我的代码: 假设我有,如何使用它来衡量执行时间? 问题答案: 方法不是Java中的一流对象,因此不能将它们作为参数传递。您可以将方法调用包装在扩展例如接口的匿名类中:

  • 从性能还是从其他因素来看,哪一种方法更好? 假设我正在创建一个类,其中有一个方法,它接受2个值并将它们相加在一起。 是有两个实例变量来存储两个值,然后有一个方法来使用这些值更好,还是在调用方法时将变量作为参数传入更好? 或者仅仅使用静态方法更好,这样我就不需要在每次使用该方法时创建对象了?