帮助java作业
这是我的作业,我已经尝试过这个作业代码。但是当我尝试编译它时,我不断遇到错误,我似乎也找不到解决方法:
错误说<identifier> expected for Line 67 public static void ()
作业简报
To write a simple java classMobile that models a mobile phone.
Details the information stored about each mobile phone will include
• Its type e.g. “Sony ericsson x90” or “Samsung Galaxy S”;
• Its screen size in inches;
You may assume that this a whole number from the scale 3 to 5 inclusive.
• Its memory card capacity in gigabytes
You may assume that this a whole number
• The name of its present service provider
You may assume this is a single line of text.
• The type of contract with service provider
You may assume this is a single line of text.
• Its camera resolution in megapixels;
You should not assume that this a whole number;
• The percentage of charge left on the phone e.g. a fully charged phone will have a charge of 100.
You may assume that this a whole number
• Whether the phone has GPS or not.
Your class will have fields corresponding to these attributes .
Start by opening BlueJ, creating a new project called myMobile which has a classMobile and set up the fields that you need,
Next you will need to write a Constructor for the class. Assume that each phone is manufactured by creating an object and specifying its type, its screen size, its memory card capacity, its camera resolution and whether it has GPS or not. Therefore you will need a constructor that allows you to pass arguments to initialise these five attributes. Other fields should be set to appropriate default values. You may assume that a new phone comes fully charged.
When the phone is sold to its owner, you will need to set the service provider and type of contract with that provider so you will need mutator methods
• setProvider () - - to set service provider.
• setContractType - - to set the type of contract
These methods will be used when the phones provider is changed.
You should also write a mutator method ChargeUp () which simulates fully charging the phone.
To obtain information about your mobile object you should write
• accessor methods corresponding to four of its fields:
• getType () – which returns the type of mobile;
• getProvider () – which returns the present service provider;
• getContractType () – which returns its type of contract;
• getCharge () – which returns its remaining charge.
An accessor method to printDetails () to print, to the terminal window, a report about the phone e.g.
This mobile phone is a sony Erricsson X90 with Service provider BigAl and type of contract PAYG. At present it has 30% of its battery charge remaining.
Check that the new method works correctly by for example,
• creating a Mobile object and setting its fields;
• calling printDetails () and t=checking the report corresponds to the details you have just given the mobile;
• changing the service provider and contract type by calling setprovider () and setContractType ();
• calling printDetails () and checking the report now prints out the new details.
Challenging excercises
• write a mutator methodswitchedOnFor () =which simulates using the phone for a specified period. You may assume the phone loses 1% of its charge for each hour that it is switched on .
• write an accessor method checkcharge () whichg checks the phone remaing charge. If this charge has a value less than 25%, then this method returns a string containg the message Be aware that you will soon need to re-charge your phone, otherwise it returns a string your phone charge is sufficient.
• Write a method changeProvider () which simulates changing the provider (and presumably also the type of service contract).
Finally you may add up to four additional fields, with appropriate methods, that might be required in a more detailed model.
上面是我的作业,我已经尝试过这个作业代码。但是,当我试图编译它时,我一直遇到错误,我似乎也找不到解决方法:
错误说<identifier> expected for Line 67 public static void ()
/**
* 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;
// 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", "1024", "2", "verizon", "8", "GPS");
1024 = screensize;
2 = memorycardcapacity;
8 = resolution;
GPS = gps;
"verizon"=serviceprovider;
//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 static void main(String[] args) {
System.out.println("new Mobile!"); //Display the string.
}
}
public static void buildPhones(){
Mobile Samsung = new Mobile("Samsung", "3.0", "4gb", "8mega pixels",
"GPS");
Mobile Blackberry = new Mobile("Blackberry", "3.0", "4gb",
"8mega pixels", "GPS");
Samsung.displayMobileDetails();
Blackberry.displayMobileDetails();
}
public static void main(String[] args) {
buildPhones();
}
}
任何答案。我真的很失落,我会非常感谢你们的帮助。
答案 0 :(得分:2)
public static void()
需要一个标识符(即名称)。
用(每个例子)改变它:
public static void buildPhones(){
//your code goes here
}
如果您想运行程序,则需要在您的班级mymobile中使用主要方法。
public static void main(String [] args){
buildPhones();
}
主要方法类似于C和C ++中的主要功能;是的 您的申请的入口点,随后将调用所有 您的计划所需的其他方法。
您可以查看this了解更多信息。
查看您在此方法上编写的代码,我建议您阅读如何为对象的参数赋值。阅读有关对象的this section。
答案 1 :(得分:1)
更新的代码:
抱歉,伙计们粘贴了错误的代码,之前编译过,但是现在添加了它不会编译,更新代码
当你有
时public static void main(String[] args) {
此编译正常,但当您将其更改为
时public static void () {
它抱怨标识符丢失了。我建议你把它改回有效的路线。
它编译并运行正常。我得到了
phonetype: 0
screensize: 0
memorycardcapacity: 0
cameraresolution: 0
GPS: 0
phonetype: 0
screensize: 0
memorycardcapacity: 0
cameraresolution: 0
GPS: 0
BTW你的构造函数确实做了什么,因为你没有使用传递给它的任何参数。
public Mobile(String Mobilephonetype, String Mobilescreensize,
String Mobilememorycardcapacity, String Mobilecameraresolution,
String MobileGPS) {
this.phonetype = phonetype;
this.screensize = screensize;
this.memorycardcapacity = memorycardcapacity;
this.cameraresolution = cameraresolution;
this.GPS = GPS;
}
所有参数名称都不同,因此不会使用它们。