5

我一直在搜索 Java 教科书好几个小时,试图确定我做错了什么。我回来的错误是第 13 行的“找不到符号”,这是代码行:

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

指令在代码中注释。我很确定这与我设置的名称有关。但我不确定。

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

 }
4

5 回答 5

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

这就是你传递String文字的方式。

于 2013-03-27T09:21:56.997 回答
4
System.out.println("The three initials are " + 
     getInitials("Harry", "Joseph", "Hacker"));

只需使用双引号。如果您将它们声明为代码中的变量,则不需要双引号,

于 2013-03-27T09:23:36.317 回答
3

你应该这样传递它:

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

Harry, Joseph, Hacker没有双引号 ( " " ) 是变量,你会得到错误,因为你没有用这些名称声明任何变量。

注意:Java 中的所有字符串都必须双引号引起来。

于 2013-03-27T09:27:59.353 回答
2

您有 3 个字符串值传递给getInitials(),字符串文字必须用 in 括起来"

System.out.println("The three initials are " + 
          getInitials("Harry", "Joseph", "Hacker"));
于 2013-03-27T09:22:34.097 回答
0

字符串必须始终位于 " 和 " 内。所以你的代码是

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

此外,您还可以使用

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

在您的 getInitials() 函数中,而不是

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

只是说。两者都为您提供字符串中第 0 个索引位置的字符,但 charAt 作为字符而不是字符串返回。

于 2015-06-24T06:43:47.793 回答