La résolution d'un problème de code à barres de "palindrome valide" ci-dessous est le code. quand je convertis le stringbuffer en string et en minuscule, la chaîne est imprimée en minuscules, mais quand j'y accède pour des comparaisons avec s.charAt (i), je reçois aussi les majuscules.Les caractères ne sont pas convertis en minuscules, bien que la chaîne ait toutes les lettres minuscules
public static void main(String []args){
String s = "aA";
String[] strings = s.split("[^A-Za-z0-9]");
StringBuffer sb = new StringBuffer();
for(int i =0; i<strings.length;i++){
sb.append(strings[i]);
}
String newString = sb.toString().toLowerCase();
System.out.println("New String "+newString);***// output : aa(lower case)***
for(int i =0; i<newString.length()/2;i++){
if(s.charAt(i) != s.charAt(newString.length()-i-1)){
System.out.println(s.charAt(i));//**output 'a**
System.out.println(s.charAt(newString.length()-i-1));//***output 'A'***
}
}
Quelqu'un peut-il expliquer pourquoi?
Pourquoi pas? 's' est toujours' "aA" 'dans ce code. –