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()。文字列リテラルは で囲む必要があります"

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 に答える