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.