2013-03-27 11 views
5

Ich habe stundenlang das Java-Lehrbuch durchforstet, um herauszufinden, was ich falsch mache. Der Fehler ich bin immer wieder auf Linie 13, „Can not Symbol finden“, das ist die Linie mit dem Code:Java Anfänger: Ich kann das Symbol nicht finden

System.out.println("The three initials are " + 
    getInitials(Harry, Joseph, Hacker)); 

Die Anweisungen werden im Code kommentiert. Ich bin mir ziemlich sicher, dass es mit den Namen zu tun hat, die ich eingerichtet habe. Aber ich bin mir nicht sicher.

public class InitialsTest { 
    /** 
     Gets the initials of this name 
     @params first, middle, and last names 
     @return a string consisting of the first character of the first, middle, 
    and last name 
     */ 

    public static void main(String[] args) { 
     System.out.println("The three initials are " + 
     getInitials(Harry, Joseph, Hacker)); 
    } 

    public static String getInitials(String one, String two, String three) { 
     String initials = one.substring(0,1) + two.substring(0,1) + three.substring(0,1); 
     return initials; 
    } 

} 

Antwort

16
System.out.println("The three initials are " 
    + getInitials("Harry", "Joseph", "Hacker")); //Enclosed within double quotes 

Dies ist, wie Sie String Literale passieren.

2

Sie 3 String-Werte getInitials(), Stringliterale bestanden haben muss, mit in "

System.out.println("The three initials are " + 
      getInitials("Harry", "Joseph", "Hacker")); 
4
System.out.println("The three initials are " + 
    getInitials("Harry", "Joseph", "Hacker")); 

nur die doppelten Anführungszeichen verwenden eingeschlossen werden. , wenn man sie erklärt haben würde als Variablen im Code dann doppelte Anführungszeichen nicht benötigt werden,

3

Sie sollten es auf diese Weise passieren:

System.out.println("The three initials are " 
    + getInitials("Harry", "Joseph", "Hacker")); 

Harry, Joseph, Hacker ohne doppelte Anführungszeichen („“) sind variabel und Sie erhalten Fehler, weil Sie keine Variable mit diesen Namen deklariert haben.

HINWEIS: ALL Zeichenfolge in Java muss in doppelte Anführungszeichen enthalten sein.

0

Strings müssen immer innerhalb von "und" sein. So würde Ihr Code sein

System.out.println("The three initials are " + 
getInitials("Harry", "Joseph", "Hacker")); 

Auch Sie auch

String initials = one.charAt(0)+two.charAt(0)+three.charAt(0); 

in Ihrem getInitials() -Funktion statt

String initials = one.substring(0,1) + two.substring(0,1) + three.substring(0,1); 

Nur zu sagen, benutzen konnten. Beide erhalten Sie das Zeichen an der 0. Indexposition in der Zeichenfolge, aber CharAt gibt als ein Zeichen und nicht als eine Zeichenfolge zurück.

+0

Sollte die charAt-Funktion nicht() anstelle von [] verwenden? Wie one.charAt (0) + two.charAt (0) + three.charAt (0) –

+1

yeah sorry meine schlechte :) – Anusha

Verwandte Themen