错误消息找不到符号 - 变量mobileserviceprovider

时间:2013-10-21 00:10:51

标签: java

我设法编译了我的代码:

/**
     * to write a simple java class Mobile that models a mobile phone.
     * 
     * @author (jamal) 
     * @version (20/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;

            // you do not use this ones during instantiation,you can remove them if you do not need or assign them some  default values 
            //this.serviceprovider = newserviceprovider;
            //this.typeofcontract = 12;
            //this.checkcharge = checkcharge;

       Mobile samsungPhone = new Mobile(
        "Samsung" // String mobilephonetype
    ,   1024    // int mobilescreensize 
    ,   2      // int mobilememorycardcapacity 
    ,   8       // int mobilecameraresolution 
    ,   "GPS"    //String mobileGPS
    ,   "verizon" // String newserviceprovider 
    );


            //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);
    }

          /**
     * The mymobile class implements an application that
     * simply displays "new Mobile!" to the standard output.
     */
    public class mymobile {
        public void main(String[] args) {
            System.out.println("new Mobile!"); //Display the string.
        }
    }
        public static void buildPhones(){
        Mobile Samsung = new Mobile("Samsung", 3, 4, 8, "verizon",
                    "GPS");
        Mobile Blackberry = new Mobile("Blackberry", 3, 4,
                    8, "verizon", "GPS");   
    }
        public static void main(String[] args) {
            buildPhones();
    }  

    }

但是,当我尝试添加此代码时:

//Mutator for newserviceprovider
   public void setnewserviceprovider(String newserviceprovider)
   {
     this.newserviceprovider = newserviceprovider;
   }

   //Mutator for contracttype
   public void setcontracttype(String contracttype)
   {
     this.contracttype = contracttype;
   }

上面添加的代码:

   /**
 * to write a simple java class Mobile that models a mobile phone.
 * 
 * @author (jamal) 
 * @version (1/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 mobileServiceProvider;
    // 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, String mobileServiceProvider, int mobilecameraresolution, String mobileGPS) {
        this.phonetype =  mobilephonetype;
        this.screensize = mobilescreensize;
        this.memorycardcapacity = mobilememorycardcapacity;
        this.mobileServiceProvider = mobileServiceProvider;
        this.cameraresolution = mobilecameraresolution;
        this.GPS = mobileGPS;

        // you do not use this ones during instantiation,you can remove them if you do not need or assign them some  default values 
        //this.serviceprovider = newserviceprovider;
        //this.typeofcontract = 12;
        //this.checkcharge = checkcharge;

  // Mobile samsungPhone = new Mobile(
 //   "Samsung" // String mobilephonetype
//,   1024    // int mobilescreensize 
//,   2      // int mobilememorycardcapacity 
//,   8       // int mobilecameraresolution 
//,   "GPS"    //String mobileGPS
//,   "verizon" // String newserviceprovider 
//);


        //typeofcontract = 12;
        //checkcharge = checkcharge;

    }
    //Mutator for newserviceprovider
   public void setmobileServiceProvider(String mobileServiceProvider)
   {
     this.mobileServiceProvider = mobileServiceProvider;
   }

    // 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("mobileServiceProvider: " + mobileServiceProvider);
        System.out.println("typeofcontract: " + typeofcontract);
} 

      /**
 * The mymobile class implements an application that
 * simply displays "new Mobile!" to the standard output.
 */
public class mymobile {
    public void main(String[] args) {
        System.out.println("new Mobile!"); //Display the string.
    }
}
    public static void buildPhones(){
    Mobile Samsung = new Mobile("Samsung", 3, 4, 8, "verizon",
                "GPS");
    Mobile Blackberry = new Mobile("Blackberry", 3, 4,
                8, "verizon", "GPS");   
}
    public static void main(String[] args) {
        buildPhones();
}  

}

我收到错误消息无法找到符号 - 变量mobileserviceprovider

任何答案。我真的很失落,我会非常感谢你们的帮助。

1 个答案:

答案 0 :(得分:1)

编译错误告诉您mobileserviceprovider类中没有名为Mobile的类实例变量。添加

private String mobileServiceProvider;

Java命名约定显示变量使用 camelCase 来命名变量,例如: mobileServiceProvider