2016-05-14 7 views
1
package practice; 

import java.util.Scanner; 

public class Shuvo { 

    public static void main(String[] args) { 
     System.out.print("please Enter your name: "); 
     char name; 
     Scanner user= new Scanner(System.in); 
     name = user.next().charAt('0'); 
     System.out.println("HELLOW" +name); //<- why this isn't working?? 
     user.close(); 
    } 
} 

Ausgabe drucken:, warum ich nicht char-Typ Wert mit meiner Ausgabe

bitte Geben Sie Ihren Namen: shuvo

Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String-Index aus Bereich: 48

at java.lang.String.charAt(Unknown Source) 
at practice.Shuvo.main(Shuvo.java:11) 
+0

Thank u, aber ich möchte wissen, wenn ich "System.out.println (" hellow "+ Name)", schreiben die Ausgabe zeigen mir "hellow shuvo". aber es funktioniert nicht. Wie Dosis habe ich diese Ausgabe und warum das nicht funktioniert? – shuvo

Antwort

3

user.next().charAt('0'); wird das Zeichen zurück, die mit der Nummer '0' den Index entspricht.

'0' ist von char Typ, der tatsächlich numerisch ist, und sein Dezimalwert ist 48. Da Sie keine 48 Zeichen eingegeben haben, erhalten Sie die ArrayIndexOfOfBoundsException.

Verwendung:

user.next().charAt(0); 

, die Sie das erste Zeichen von der Eingabe zurück.

Verwandte Themen