2013-10-20 5 views
0

Я пытаюсь получить свой код для создания новых объектов-конструкторов, которые мне необходимы для создания объекта мобильного телефона. Я попытался назвать поля constuctor для создания объекта.Ошибка Java - не утверждение, что это значит?

Когда я скомпилирую свой код в этой строке 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(); 
    } 
} 

любые ответы и ответы будут весьма признателен!

+1

'this.Mobile' не имеет смысла. – SLaks

+0

В какой строке указана ошибка? – pburka

+0

Что вы ожидаете от этой строки? 'this." verizon "= поставщик услуг;' – pburka

ответ

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

Отсутствует запятая после значения параметра 3. Я бы сказал, что это ваш преступник.

0

Сво ошибка компиляции, это означает, что компилятор ожидал заявление, и вы дали ему что-то еще, пожалуйста, refer

Должно быть

Mobile samsungPhone = new Mobile("Samsung", 1, 2, "verizon", 3, "GPS"); 
1
this.2 = memory card capacity; 
this.3=resolution; 

не имеет никакого смысла вообще.

Вы не можете присваивать значения литералу (2, 3).


Edit: Вы также должны были бы это исправить:

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

Как отмечалось другими членами.

0

Мобильный класс «это» стоять на текущий object.So, Вы не можете использовать «это» для Mobile.You должен:

Mobile samsungPhone = new Mobile("Samsung", 1, 2, "verizon", 3, "GPS"); 
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 call с разумными значениями, как описано в комментариях/примечаниях ниже, например, где у вас есть 1, помещенный в разрешение (что не имеет смысла, если оно не проиндексировано или что-то еще), где у вас есть 2, помещенный в емкость карты памяти, где есть 3, помещенный в разрешение и т. д.

Затем либо закомментируйте линии, которые являются мусором, либо, предпочтительно, удалите их.

Смежные вопросы