6

私はプログラミングが初めてです。これがばかげた間違いである場合は申し訳ありませんが、このエラーが発生し続け"CompanyAddress.java:11: error: cannot find symbol System.out.println(testObject.getName(CompanyName));"ます。何が間違っているのかわかりません。

メイン。

import java.util.Scanner;
public class CompanyAddress
{
  public static void main(String[] args)
  {
     Scanner scan = new Scanner(System.in);
     test testObject = new test();
     System.out.println("Enter name: ");
     String input = scan.nextLine();
     testObject.getName(input);
     System.out.println(testObject.getName(CompanyName));
  }
}   

私のtest.java

import java.util.Scanner;
public class test 
{
    String Name;

    public String getName(String CompanyName) 
    {
        Name = CompanyName;
        return Name;
    }


}
4

5 に答える 5

3

変数を宣言する必要がありますCompanyName。このようなもの:

String CompanyName = "CompanyName1";
System.out.println(testObject.getName(CompanyName));

変数を変更しているので、次のことを行う必要があります。

public class test
{
       String Name;

        public void setName(String CompanyName) {this.Name = CompanyName;}

        public String getName()                 {return Name;}

}

メソッドgetNameは「会社」の名前を返し、「会社」setNameの名前を変更します。このようにして、さまざまな問題を分離できます。

さらに、将来的には、会社の実際の名前を変更せずにメソッド getName を呼び出すことができます。

于 2012-11-24T17:58:28.997 に答える
3

まずcompanyName、変数をメソッドに渡す前に変数を宣言する必要があります。

第二に、あなたの方法: -

public String getName(String CompanyName) 
{
    Name = CompanyName;
    return Name;
}

私には奇妙に思えます。と同じ方法を使用していgetter and setterます。

あなたが持っている必要がありますseparate setter and getter: -

public void setName(String companyName) {
    name = companyName;
}

public String getName() {
    return name;
}

そして、それらを別々に呼び出します。

testObject.setName(companyName);

System.out.println(testObject.getName());

ただの提案: -

Java命名規則に従います。フィールド名とメソッド名は小文字のアルファベットで始める必要があります。

于 2012-11-24T18:00:17.227 に答える
3
System.out.println(testObject.getName(CompanyName));

なにCompanyNameこれここ?知られていない記号です。かもしれないSystem.out.println(testObject.getName("CompanyName"));

また

String CompanyName ="name";
System.out.println(testObject.getName(CompanyName);
于 2012-11-24T17:59:40.247 に答える
2

以下のようなことをするようにプログラムを動かしていると思います。setName()渡された値を name に設定する関数とgetName()、name の値を返す関数。

import java.util.Scanner;
public class test 
{
    String Name;

    public String getName()
    {
        return Name;
    }

    public String setName(String companyName)
    {
        this.Name=companyName;
    }
}

public class CompanyAddress
{
  public static void main(String[] args)
  {
     Scanner scan = new Scanner(System.in);
     test testObject = new test();
     System.out.println("Enter name: ");
     String input = scan.nextLine();
     testObject.setName(input);
     System.out.println(testObject.getName());
  }
}   
于 2012-11-24T18:05:06.967 に答える
0

「getName」の名前を「setName」に変更し(セッターであるため)、適切なゲッターをクラスに追加して使用します。

public class test 
{
    String Name;

    public void setName(String CompanyName) 
    {
        Name = CompanyName;
    }

    public String getName() {
        return Name;
    }
}

それから:

 System.out.println(testObject.getName());


また、標準の命名規則に従っている場合にも役立ちます。

  • クラス名は大文字で始まる
  • メソッド、変数、およびパラメーターの名前は小文字で始まります
于 2012-11-24T18:01:15.680 に答える