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");
}
}
'部分文字列(0,1)=" "+ charAt(0)'です。 「EI」を返すことはできません。さらに、 'equals()'または 'equalsIgnoreCase()'関数を使って文字列を比較する必要があります。 – progyammer
部分文字列(0,1)= "" + charAt(0)の意味が分かりませんが、 おかげさまでありがとうございます。 –
'substring(0,1)'は文字列の文字列の最初の文字を返します。だから 'charAt(0)'と似ていますが、 'charAt()'とは異なり、部分文字列が返す値は 'string'です。 – progyammer