Ciao ho un problemino con i char....fare la diffrenza di tra 2 char vuol dire sottrarre i lore valori ascii..fin qui ok..ma se sottraggo un char ed un char,sotto forma di numero(es:'0' zero) perchè non mi riconosce il carattere?
cioè se ho:
codice:
class Caratteri{
int carattereprova(char ch){
return ch - '0'; //ch-zero
}
public static void main(String[] args){
Caratteri h=new Caratteri();
System.out.println(Character.getNumericValue('Z')); //output:35
System.out.println(Character.getNumericValue('0')); //output:0
int carattere=h.carattereprova('Z');
System.out.println(carattere); //output:42 ????
System.out.println(Character.toChars(carattere)); //output:* ?????
}
}
i primi 2 output mi vengono 35 e 0...ma poi perchè il terzo output mi viene 42 ed il quarto *?È come se non riconoscesse il carattere zero e non riuscisse a convertore il risultato in char.Perhè?