2013-03-27 16 views
5

Przez wiele godzin czyściłem podręcznik Java, próbując ustalić, co robię źle. Błąd Dostaję powrotem „nie można odnaleźć symbolu” na linii 13, który jest linia z kodem:Java Początkujący: Nie można znaleźć symbolu

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

Instrukcje są skomentował w kodzie. Jestem prawie pewien, że ma to związek z nazwami, które ustawiłem. Ale nie jestem pewien.

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; 
    } 

} 

Odpowiedz

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

ten sposób można przekazać String literałów.

2

Masz 3 wartości ciągów przekazywanych do getInitials(), literały ciągów znaków musi być dołączone w "

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

wystarczy użyć cudzysłowia. jeśli byś ogłosił je jako zmienne w kodzie następnie cudzysłowy nie są potrzebne,

3

Należy przekazać go w ten sposób:

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

Harry, Joseph, Hacker bez cudzysłów („”) są zmienne i masz błąd, ponieważ nie zadeklarowano żadnej zmiennej o tych nazwach.

UWAGA: WSZYSTKIE ciągi znaków w języku Java muszą być zamknięte w podwójnych cytatach.

0

Struny muszą zawsze być w "i". Więc twój kod będzie

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

Ponadto, można również użyć

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

w swoim getInitials() funkcji zamiast

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

prostu mówiąc. Oba przynoszą ci postać na pozycji 0 pozycji w łańcuchu, ale charAt zwraca jako znak, a nie jako ciąg.

+0

Czy funkcja charAt nie powinna używać() zamiast []? Podobnie jak one.charAt (0) + two.charAt (0) + three.charAt (0) –

+1

tak, przepraszam, moje złe :) – Anusha

Powiązane problemy