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;