从 String[] 和 int 生成 String
Make String from String[] and int
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" 等输出,但在执行 class 时,字符串呼号仍然为空:/
Java 按值传递变量。如果您在此函数之外测试呼号变量的值,那么它将为空,因为您已在 assignCallsign 方法之外将其设置为空。
要解决此问题,您可以:
return 函数的呼号值并用它设置一个变量。
public String assignCallSign() {
return airlines[airline] + number;
}
String callsign = assignCallSign()
将 callsign 设为 class 的成员变量,您的代码将按预期运行:
private String callsign;
如果不看到正在使用它的 class,很难看出问题。
推测这是某个 "Flight" 对象的一部分。这表明正在正确设置和显示呼号。
public static void main(String[] args) {
Flight flight = new Flight();
flight.assignCallsign();
System.out.println(flight);
}
private static class Flight {
private static final String AIRLINES[] = { "DLH", "BER", "TUI", "EZY", "ACA", "AAL", "FDX", "SKW", "ABY", "SWR" };
private String callsign;
public void assignCallsign() {
Random r = new Random();
int airline = r.nextInt(10);
int number = r.nextInt(900) + 100;
callsign = AIRLINES[airline] + number;
}
@Override
public String toString() {
return "Flight [callsign=" + callsign + "]";
}
}
输出
Flight [callsign=SKW534]
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" 等输出,但在执行 class 时,字符串呼号仍然为空:/
Java 按值传递变量。如果您在此函数之外测试呼号变量的值,那么它将为空,因为您已在 assignCallsign 方法之外将其设置为空。
要解决此问题,您可以:
return 函数的呼号值并用它设置一个变量。
public String assignCallSign() { return airlines[airline] + number; } String callsign = assignCallSign()
将 callsign 设为 class 的成员变量,您的代码将按预期运行:
private String callsign;
如果不看到正在使用它的 class,很难看出问题。
推测这是某个 "Flight" 对象的一部分。这表明正在正确设置和显示呼号。
public static void main(String[] args) {
Flight flight = new Flight();
flight.assignCallsign();
System.out.println(flight);
}
private static class Flight {
private static final String AIRLINES[] = { "DLH", "BER", "TUI", "EZY", "ACA", "AAL", "FDX", "SKW", "ABY", "SWR" };
private String callsign;
public void assignCallsign() {
Random r = new Random();
int airline = r.nextInt(10);
int number = r.nextInt(900) + 100;
callsign = AIRLINES[airline] + number;
}
@Override
public String toString() {
return "Flight [callsign=" + callsign + "]";
}
}
输出
Flight [callsign=SKW534]