NYまたはNYCのいずれかを入力すると、コードにエラーが表示されます。私はこれが部分文字列メソッドをどのように使用したかとは関係があると信じていますが、私の人生のためにそれを理解することはできません。javaの部分文字列メソッドを使用して文字を引き出して一致させる
city.substring(0,1) //will return N
とライン
city.substring(0,2) //will return NY
NYまたはNYCのいずれかを入力すると、コードにエラーが表示されます。私はこれが部分文字列メソッドをどのように使用したかとは関係があると信じていますが、私の人生のためにそれを理解することはできません。javaの部分文字列メソッドを使用して文字を引き出して一致させる
city.substring(0,1) //will return N
とライン
city.substring(0,2) //will return NY
私はこの問題は、入力NYC ラインのためにあるという事実であると思いますstartIndex(両端を含む)で終わり、endIndex(排他的)で終わります。意味
city.substring(0, 1)
は、文字列の最初の文字のみを取得します。
また、 '=='演算子ではなく、文字列を比較するにはstring.equals(Object other)メソッドを使用する必要があります。 '=='演算子はオブジェクトへの参照が等しいかどうかをチェックし、equals()は文字列のデータをチェックします。たとえば、文字列全体を実行して、何かに等しいかどうかを確認することができます
if (city.equals("NYC")) {
//Do something
}
編集を:私はまた、あなたが文字列の3番目の文字を取得しようとしていることがわかります。 「NY」以外の文字を2文字(またはそれ以下)で入力しようとすると、StringIndexOutOfBoundsExceptionが返されるため、入力の長さをチェックして適切なアクションを適用する必要があります。
substring(int startIndex, int endIndex)方法から始まる文字列の一部を返します。
import java.util.Scanner;
public class Practice {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.print("Enter valid city initials: ");
String city = input.next();
while (city.substring(0,1)!= ("NY") && (city.substring(0,2)!= ("NYC"))){
System.out.println("Wrong City");
System.out.println("Enter New York Citys Initials: ");
city = input.next();
}
}
}
ありがとう、これは私が探していたものですが、私は全体を忘れていました==難解な – Spaldingl
@ Spaldingl問題はありません。あなたのプログラムに幸運。 – Charlie