我是编程的新手,如果这是一个愚蠢的错误,我很抱歉,但我一直收到这个错误"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));
}
}
my test.java
import java.util.Scanner;
public class test
{
String Name;
public String getName(String CompanyName)
{
Name = CompanyName;
return Name;
}
}
答案 0 :(得分: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而无需修改公司的实际名称。
答案 1 :(得分:3)
System.out.println(testObject.getName(CompanyName));
CompanyName
这里有什么?它不是已知的符号。可能是System.out.println(testObject.getName("CompanyName"));
或
String CompanyName ="name";
System.out.println(testObject.getName(CompanyName);
答案 2 :(得分:2)
首先您需要声明变量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命名约定。字段名称和方法名称应以小写字母开头。
答案 3 :(得分:1)
我认为您希望您的程序执行以下操作。函数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());
}
}
答案 4 :(得分:0)
将“getName”重命名为“setName”(因为它是一个setter)并为您的类添加一个合适的getter并使用它:
public class test
{
String Name;
public void setName(String CompanyName)
{
Name = CompanyName;
}
public String getName() {
return Name;
}
}
然后:
System.out.println(testObject.getName());
此外,如果您遵守标准命名约定,它将对您有所帮助: