私のメソッドで大文字小文字を無視するためにユーザーが入力したものをどのようにするか知りたい:
public static void findPatient() {
if (myPatientList.getNumPatients() == 0) {
System.out.println("No patient information is stored.");
}
else {
System.out.print("Enter part of the patient name: ");
String name = sc.next();
sc.nextLine();
System.out.print(myPatientList.showPatients(name));
}
}
文字列メソッド.toLowerCase()
または.toUpperCase()
は、入力と、一致させる文字列の両方で使用する必要があります。
例:
public static void findPatient() {
System.out.print("Enter part of the patient name: ");
String name = sc.nextLine();
System.out.print(myPatientList.showPatients(name));
}
//the other class
ArrayList<String> patientList;
public void showPatients(String name) {
boolean match = false;
for(matchingname : patientList) {
if (matchingname.toLowerCase.contains(name.toLowerCase())) {
match = true;
}
}
}
String#toLowerCase()
またはString#equalsIgnoreCase()
メソッドを使用する
いくつかの例:
String abc = "Abc".toLowerCase();
boolean isAbc = "Abc".equalsIgnoreCase("ABC");
.equalsIgnoreCase()メソッドはそれを助けるはずです。
データを取得/格納するときではなく、データを扱うときは大文字と小文字を区別しません。すべてを小文字で保存する場合は String#toLowerCase を使用し、大文字で使用する場合は String#toUpperCase を使用します。
次に、実際に処理する必要がある場合は、 String#equalsIgnoreCase(Java.lang.String) のような弓以外のメソッドを使用できます。 Java APIにニーズを満たすものが存在しない場合は、独自のロジックを記述する必要があります。
私もこれを見つけるまで、投稿されたすべてのコードを試しました
if(math.toLowerCase(Locale.ENGLISH));
ここでは、ユーザーが入力した文字はすべて小文字に変換されます。
stringクラスのtoUpperCase()またはtoLowerCase()メソッドを使用します。