我对java和编程还比较陌生。我正试图为分配给我的任务编写一个程序。然而,我得到了以下错误:
cannot find symbol
symbol: variable carMake
location: class CarTransferClient
以下代码行中的每个变量都会出现此错误:
System.out.println("Result = " + carTransfer(carMake, carModel, carEngine, carPetrolDiesel, location, destination, distance));
这是我试图写的部分的完整代码:
public class CarTransferClient {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
System.out.println("Result = " + carTransfer(carMake, carModel, carEngine, carPetrolDiesel, location, destination, distance));
}
private static String carTransfer(java.lang.String carMake, java.lang.String carModel, java.lang.String carEngine, java.lang.String carPetrolDiesel, java.lang.String location, java.lang.String destination, java.lang.String distance) {
webservices.CarTransfer_Service service = new webservices.CarTransfer_Service();
webservices.CarTransfer port = service.getCarTransferPort();
return port.carTransfer(carMake, carModel, carEngine, carPetrolDiesel, location, destination, distance);
}
}
我做错了什么?怎样才能改正?
我得到了以下工作代码作为一个例子,如果它有帮助的话:
public class ConvertClient {
public static void main(String[] args) {
System.out.println("Result = " + feetToMetres(1));
}
private static String feetToMetres(double feet) {
webservices.Convert_Service service = new webservices.Convert_Service();
webservices.Convert port = service.getConvertPort();
return port.feetToMetres(feet);
}
}
carMake
、carModel
等正在查找名为carMake
、carModel
的变量。你需要在打电话前申报。
public static void main(String[] args) {
String carMake = "Make";
String carModel = "Model";
String carEngine= = "Engine";
String carPetrolDiesel = "Diesel";
String location = "Location";
String destination = "Destination";
String distance = "Distance";
System.out.println("Result = " + carTransfer(carMake, carModel, carEngine, carPetrolDiesel, location, destination, distance));
}
当您调用打印方法System.out.println()
时,您必须为其提供有效的参数。在您的情况下,这些参数必须是已实例化的String
变量,或者是类似于"string literal example"
的字符串文字。
您不能发送该方法或任何与此相关的方法,即程序"不知道"的变量。
这里是一个String
变量(或String
对象)String name = "fred";
的示例,fred将是字符串文字。
问题是carMake、carModel等没有var。carTransfer(carMake,carModel,carEngine,carPetrolDiesel,位置,目的地,距离)有了这个,您基本上告诉java查找调用carMake
、carModel
等的var,但您没有初始化这些var,它们不存在。如果你想传递一个字符串,可以使用"-"符号。例如:
System.out.println("Result = " + carTransfer("Make", "some model", "some engine", "some petrol diesel", "some location", "some destination", "some distance"));