Hoofdletters en kleine letters negeren in Java

Ik wil weten hoe ik alles wat de gebruiker invoert kan negeren in mijn methode:

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));
    }
}

Antwoord 1, autoriteit 100%

Je moet de String-methode .toLowerCase()of .toUpperCase()gebruiken voor zowel de invoer als de tekenreeks waarmee je deze probeert te matchen.

p>

Voorbeeld:

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(String matchingname : patientList) {
        if (matchingname.toLowerCase().contains(name.toLowerCase())) {
            match = true;
        }
    }
}

Antwoord 2, autoriteit 89%

Gebruik de methoden String#toLowerCase()of String#equalsIgnoreCase()

Enkele voorbeelden:

   String abc    = "Abc".toLowerCase();
    boolean isAbc = "Abc".equalsIgnoreCase("ABC");

Antwoord 3, autoriteit 22%

De methode .equalsIgnoreCase() zou daarbij moeten helpen.


Antwoord 4

gebruik de methode toUpperCase() of toLowerCase() van de klasse String.


Antwoord 5

U negeert case wanneer u de gegevens behandelt, niet wanneer u deze ophaalt/opslaat.
Als je alles in kleine letters wilt opslaan, gebruik dan String#toLowerCase, gebruik in hoofdletters String#toUpperCase.

Als je het dan echt moet behandelen, kun je out-of-the-bow-methoden gebruiken, zoals String#equalsIgnoreCase(java.lang.String). Als er niets in de Java API bestaat dat aan uw behoeften voldoet, moet u uw eigen logica schrijven.


Antwoord 6

Ik heb ook alle geposte code geprobeerd totdat ik deze ontdekte

if(math.toLowerCase(Locale.ENGLISH));

Hier wordt elk teken dat de gebruiker invoert omgezet in kleine letters.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

3 + sixteen =

Other episodes