0

所以构造函数说)预期,错误不是语句和;预期的

    Person num1, num2, num3;
    num1=new Person(Allison, 6600 Crescent Ave, 32, 9024231421);
    num2=new Person(George, 5251 Lakewood St, 24, 9024489216);
    num3=new Person(Michael, 2429 Inglis St, 56, 9024212345);

对象类

   public Person() {
   }
//constructor allows programmer to define variable values in demo class
   public Person(String nm, String adr, int ag, long phn) {
    name=nm;
    address=adr;
    age=ag;
    phoneNumber=phn;
 }
4

5 回答 5

3
num1=new Person(Allison, 6600 Crescent Ave, 32, 9024231421);

应该

num1=new Person("Allison", "6600 Crescent Ave", 32, 9024231421);

String、String、int 和 long 是由您的构造函数按此顺序定义的,由public Person(String nm, String adr, int ag, long phn).

没有(双)引号的 Allison 不是字符串。

于 2013-06-28T05:00:43.167 回答
1

您没有将名称和地址的字符串传递给构造函数,请尝试更改

num1=new Person(Allison, 6600 Crescent Ave, 32, 9024231421);

num1=new Person("Allison", "6600 Crescent Ave", 32, 9024231421);
于 2013-06-28T05:02:29.980 回答
1

第1步:

首先,您可以检查您的Person类对象是否已创建。

打印一些信息

 public Person() {
      System.out.println("in default constructor");
 }

如果您看不到任何打印语句,则说明对象有问题。

第2步:

检查您传递的内容和传递的值是print or not.

如果不打印则有问题with your parameter(argument)

你的问题:

你是not passing actual string value,你必须传递字符串值""

num1=new Person("Allison", "6600 Crescent Ave", 32, 9024231421);

许多 SO 用户给出了实际答案,但这些东西是给功能阅读器的,所以用户下次可以看到并且不会出错。

于 2013-06-28T05:10:13.177 回答
0

你正在调用你的第一个参数不存在的构造函数你已经定义了字符串,所以在调用构造函数时传入双引号

于 2013-06-28T05:02:55.830 回答
0

因为字符串总是在双引号内使用。将您的字符串参数放在双引号中。

于 2014-06-03T17:19:13.953 回答