0
我的工作對繼續要求用戶輸入航班號即FR201的程序。然後該程序將讀取航班代碼並返回航空公司和航班號..但我無法正確工作,並且剛剛得到「無效輸入」。 這是我試過的,任何幫助表示讚賞!switch語句困難
import java.util.Scanner;
public class flightcode{
public static void main(String[]args)
{
String s2;
do{
Scanner s1 = new Scanner(System.in);
System.out.println("Enter a number");
s2 = s1.nextLine();
int num = s2.length()-2;
int s3=0;
if(s2.substring(0,1)=="EI")
{
s3 = 1;
}
else if(s2.substring(0,1)=="FR")
{
s3 = 2;
}
else if(s2.substring(0,1)=="AF")
{
s3 = 3;
}
else if(s2.substring(0,1)=="AA")
{
s3 = 4;
}
else if(s2.substring(0,1)=="IB")
{
s3 = 5;
}
switch (s3)
{
case 1: System.out.println("Airline: Aer Lingus - Flight number:" + s2.substring(2)); break;
case 2: System.out.println("Airline: Ryanair - Flight number:" + s2.substring(2)); break;
case 3: System.out.println("Airline: Air France - Flight number:" + s2.substring(2)); break;
case 4: System.out.println("Airline: American Airlines - Flight number:" + s2.substring(2)); break;
case 5: System.out.println("Airline: Iberia - Flight number:" + s2.substring(2)); break;
default: System.out.println("Invalid input"); break;
}
}
while(s2!= "END");
}
}
'substring(0,1)=「」+ charAt(0)'。它不能返回「EI」。另外,你應該使用'equals()'或'equalsIgnoreCase()'函數來比較字符串。 – progyammer
我不太明白你的意思是由substring(0,1)=「」+ charAt(0), 謝謝你的幫助。 –
'substring(0,1)'返回字符串形式的字符串的第一個字符。所以它與'charAt(0)'類似,保存由substring返回的值是'string',而不像'charAt()' – progyammer