Als ichWarum führt die Eingabe von "Î" zu einem Scanner zu einem falschen Zeichen?
String message="Î"
und nehmen Sie den numerischen Wert des ersten Zeichens tun mit:
int x=message.charAt(0);
Der Ausgang ist 206, was richtig ist. wenn ich Eingabe jedoch Î
auf einen Scanner, wie folgt aus:
Scanner in=new Scanner(System.in);
String message=in.next(); // typing Î
der numerische Wert des ersten Zeichens, wie er von:
int x=message.charAt(0);
ist jetzt 65533, was falsch ist.
Dies ist der vollständige Code:
System.out.println("Insert string here:");
Scanner in=new Scanner(System.in);
String s=in.next();
for(int i=0;i<s.length();i++)
{
System.out.println("Codice carattere:"+(int) s.charAt(i));
}
, die die falsche 65533 ausgibt, wenn Î
Eingabe, und dies ist der vollständige Code:
String s="Î";
for(int i=0;i<s.length();i++)
{
System.out.println("Codice carattere:"+(int) s.charAt(i));
}
, die das Recht gibt 206
Wie kann ich es mit Scanner
arbeiten lassen?
Glauben Sie, dass ein anderer Mensch Ihr Problem wirklich von dem verstehen kann, was Sie geschrieben haben? – Idos
Er fragt sich, warum der numerische Wert von "Î" sich unterscheidet, wenn das Zeichen vom Scanner gelesen und in einer Zeichenfolge gespeichert wird, anstatt die Zeichenfolge mit dem Zeichen von Anfang an zu haben. Nun, post a [mcve] und wir werden sehen. – Gendarme