2016-04-02 152 views
0

我对java和编程比较陌生。我正在试图写一个给我的任务的程序。不过,我收到以下错误:找不到符号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); 
} 
} 
+1

如果你想调用的字符串文字像你打算在这里,你必须把像这样的报价:'carTransfer(” carMakel“,”carEngine“,”carPetrolDiesel“,”location“,”destination“,”distance“)'或者你实例化这些变量并给它们String值,另外,为了简单/可读性,你不要''不必调用String('java.lang.String'),只是'String'很好 – Maljam

+0

@Maljam感谢您的快速回复。但是,我不认为这是正确的。我添加了一个工作例如,如果这有助于我获得了这篇文章? –

回答

2

carMakecarModel等在System.out的是寻找一个名为carMakecarModel变量。您需要在拨打电话前申报。

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)); 
} 
+0

感谢您的快速回复。但是,我不认为这是正确的。我添加了一个工作示例,如果这有助于我被发送到帖子? –

+0

你是什么意思,“我不认为这是正确的”。你试过了吗? –

0

当你调用print方法System.out.println()你必须给它有效参数。在你的情况下,这些参数必须是String已被实例化的变量或字符串文字,看起来像这样"string literal example"

你不能发送该方法或任何方法的事情,该程序“不知道”的变量。

这里是一个String变量(或String对象)的一个例子String name = "fred";和Fred将字符串文字。

+0

感谢您的快速回复。但是,我不认为这是正确的。如果这有帮助,我已经添加了一个工作示例,让我看到该帖子。 –

+0

是的我说你的情况下,你必须发送一个字符串字符串或字符串对象变量。但我确实离开了你,你可以发送其他原始类型文字或变量,如int,float,double等。 – localplutonium

+0

在您提供的工作示例中,方法'feetToMetres(1)'RETURNS'返回脚'(这是对int的引用)。这是print()方法的有效参数 – localplutonium

0

的问题是,有对carMake没有瓦尔,carModel等 carTransfer(carMake,carModel,carEngine,carPetrolDiesel,地点,目的地,距离) 有了这个,你主要讲述Java来寻找VAR调用carMakecarModel等,但你没有初始化这些变量,它们不存在。如果你想传递一个字符串,做到使用“-sign例如:

System.out.println("Result = " + carTransfer("Make", "some model", "some engine", "some petrol diesel", "some location", "some destination", "some distance")); 
+0

感谢您的快速回复。但是,我不认为这是正确的。如果这有帮助,我已经添加了一个工作示例,让我看到该帖子。 –

+1

您是否尝试过我的答案,或者您认为这不正确?如果你尝试了我的答案,但仍然有错误,它是一样的吗?如果不是的话 - 你能把这个错误粘贴到我这里吗? – Moshe9362