0

我正在尝试让我的代码创建创建手机对象所需的新构造函数对象。我尝试命名构造函数字段来创建对象。

当我在这一行编译我的代码时,this.Mobile samsungPhone = new Mobile("Samsung", 1, 2, "verizon", 3 "GPS");我得到这个错误:不是一个语句,这是什么意思?

更新代码!

我的代码:

   /**
 * to write a simple java class Mobile that models a mobile phone.
 * 
 * @author (Lewis Burte-Clarke) 
 * @version (14/10/13)
 */
public class Mobile

{
    // type of phone
    private String phonetype;
    // size of screen in inches
    private int screensize;
    // menory card capacity
    private int  memorycardcapacity;
    // name of present service provider
    private String serviceprovider;
    // type of contract with service provider
    private int typeofcontract;
    // camera resolution in megapixels
    private int cameraresolution;
    // the percentage of charge left on the phone
    private int checkcharge;
    // wether the phone has GPS or not
    private String GPS;
    // instance variables - replace the example below with your own
    private int x;

    // The constructor method

    public Mobile(String mobilephonetype, int mobilescreensize,
            int mobilememorycardcapacity,int mobilecameraresolution,String mobileGPS, String newserviceprovider) {
        this.phonetype =  mobilephonetype;
        this.screensize = mobilescreensize;
        this.memorycardcapacity = mobilememorycardcapacity;
        this.cameraresolution = mobilecameraresolution;
        this.GPS = mobileGPS;
        this.serviceprovider = newserviceprovider;
        this.typeofcontract = 12;
        this.checkcharge = checkcharge;
        // you do not use this ones during instantiation,you can remove them if you do not need or assign them some  default values 


        Mobile samsungPhone = new Mobile("Samsung", 1, 2, "verizon", 3, "GPS");
        1024 = screen size;
        2 = memory card capacity;
        3=resolution;
        GPS = gps;
       "verizon"=service provider;
        typeofcontract = 12;
        checkcharge = checkcharge;

    }


    }

    // A method to display the state of the object to the screen
    public void displayMobileDetails() {
        System.out.println("phonetype: " + phonetype);
        System.out.println("screensize: " + screensize);
        System.out.println("memorycardcapacity: " + memorycardcapacity);
        System.out.println("cameraresolution: " + cameraresolution);
        System.out.println("GPS: " + GPS);
         System.out.println("serviceprovider: " + serviceprovider);
        System.out.println("typeofcontract: " + typeofcontract);

    }



}

 class mymobile {
    public static void) {
        Mobile Samsung = new Mobile("Samsung", 1, 2, "verizon", 3, "GPS");
        Mobile Blackberry = new Mobile("Blackberry", "3.", "4","8", "GPS");
        Samsung.displayMobileDetails();
        Blackberry.displayMobileDetails();
    }
}

任何答案和答复将不胜感激!

4

5 回答 5

2
this.2 = memory card capacity;
this.3=resolution;

完全没有意义。

您不能将值分配给文字 (2, 3)。


编辑:您还需要解决此问题:

Mobile Samsung = new Mobile("Samsung", 1, 2, "verizon", 3, "GPS");

正如其他成员所说。

于 2013-10-20T03:01:33.863 回答
0
    Mobile samsungPhone = new Mobile("Samsung", 1, 2, "verizon", 3, "GPS");
    1024 = screen size;
    2 = memory card capacity;
    3=resolution;
    GPS = gps;
   "verizon"=service provider;
    typeofcontract = 12;
    checkcharge = checkcharge;

您需要new Mobile用合理的值替换 ctor 调用中的数字,如下面的注释/注释所述,例如,您在哪里1放入了分辨率(除非它被索引或其他东西,否则没有意义),您在哪里放入2存储卡容量,3放入分辨率等。

然后注释掉那些是垃圾的行,或者最好删除它们。

于 2013-10-20T04:01:42.597 回答
0
Mobile Samsung = new Mobile("Samsung", 1, 2, "verizon", 3 "GPS");

参数值 3 后缺少逗号。我会说这是你的罪魁祸首。

于 2013-10-20T02:59:17.640 回答
0

它是一个编译错误,这意味着编译器期待一个语句,而你给了它其他东西,请参考

应该

Mobile samsungPhone = new Mobile("Samsung", 1, 2, "verizon", 3, "GPS"); 
于 2013-10-20T03:00:10.023 回答
0

Mobile 是一个类,“this”代表当前对象。因此,您不能将“this”用于 Mobile。您应该:

Mobile samsungPhone = new Mobile("Samsung", 1, 2, "verizon", 3, "GPS");
于 2013-10-20T03:11:26.633 回答