String callsign;
String airlines[] = {"DLH","BER","TUI","EZY","ACA","AAL","FDX","SKW","ABY","SWR"};
public void assignCallsign()
{
    Random r = new Random();
    int airline = r.nextInt(10);
    int number = r.nextInt(900) + 100;
    callsign = airlines[airline] + number;
}


字符串数组airlines []包含3个字母,表示一个航空公司。
随机整数航空公司用于选择这些航空公司之一。随机整数应指定飞机呼号的最后3个字符。

我正在尝试获取类似“ BER219”,“ AAL814”之类的输出,但是在执行该类时,String呼号仍然为null:/

最佳答案

Java按值传递变量。如果要在此函数之外测试callsign变量的值,则它将为null,因为已在assignCallsign方法之外将其设置为null。

为了解决这个问题,您可以:


从函数返回呼号值,并为其设置变量。

public String assignCallSign() {
return airlines[airline] + number;
}
String callsign = assignCallSign()

使callsign成为该类的成员变量,您的代码将按预期运行:

private String callsign;

09-30 15:36