0

我是这个 Java 旅程的新手,在大学里,他们要求我

“在 main 方法中定义五个 String 变量,称为:shipmentNum、supplierName、revDate、revTime、employeeNum。” 并分配以下文本:99,Costco,2011 年 12 月 15 日,上午 10:25,33。

到目前为止我有这个,但是给出了一个错误消息:“本地变量shipmentNum永远不会被读取”,我不明白为什么我会收到这个错误消息。

package c1;

public class ShipmentApp {

public static void main(String[] args){
    String shipmentNum = "99";
    String supplierName = "Costco";
    String revDate = "12/15/2011";
    String revTime = "10:25 AM";
    String employeeNum = "33";


    System.out.println("99");
    System.out.println("Costco");
    System.out.println("12/15/2011");
    System.out.println("10:25 AM");
    System.out.println("33");
    }
}
4

7 回答 7

1

您看到的是编译器警告,而不是错误。这基本上是 Java 试图通过分析您编写的内容并检测常见错误来帮助您发现代码中的缺陷。

在这种情况下,Java 识别出您为一堆变量赋值,但之后再也不会使用这些变量。您可能想写出变量的值,而不是再次指定的值。

public static void main(String[] args){
    String shipmentNum = "99";
    String supplierName = "Costco";
    String revDate = "12/15/2011";
    String revTime = "10:25 AM";
    String employeeNum = "33";

    System.out.println(shipmentNum );
    System.out.println(supplierName );
    System.out.println(revDate );
    System.out.println(revTime );
    System.out.println(employeeNum );

}
于 2013-09-13T15:32:52.447 回答
1

那是警告不是错误,但试试这个。

public static void main(String[] args){
    String shipmentNum = "99";
    String supplierName = "Costco";
    String revDate = "12/15/2011";
    String revTime = "10:25 AM";
    String employeeNum = "33";


    System.out.println(shipmentNum);
    System.out.println(supplierName);
    System.out.println(revDate);
    System.out.println(revTime);
    System.out.println(employeeNum);

}

或者只是尝试:

package c1;

public class ShipmentApp{

    public static void main(String[] args){
         System.out.println("99");
        System.out.println("Costco");
        System.out.println("12/15/2011");
        System.out.println("10:25 AM");
        System.out.println("33");

    }
}
于 2013-09-13T15:33:58.937 回答
0

您正在写出文本,而不是变量的值。这不是错误,只是警告。您可能应该将代码更改为:

package c1;

public class ShipmentApp{

    public static void main(String[] args){
        String shipmentNum = "99";
        String supplierName = "Costco";
        String revDate = "12/15/2011";
        String revTime = "10:25 AM";
        String employeeNum = "33";


        System.out.println(shipmentNum);
        System.out.println(supplierName);
        System.out.println(revDate);
        System.out.println(revTime);
        System.out.println(employeeNum);

    }
}
于 2013-09-13T15:33:24.687 回答
0

您收到的是警告,因为您实际上并没有阅读您声明的任何变量。您可以通过将变量传递给println而不是两次键入字符串来纠正此问题。

由于这些只是警告,它们不应影响程序编译和/或执行的能力。虽然您可以想象忽略此类警告,但至少分析它们是由什么引起的通常是明智的。

于 2013-09-13T15:31:26.030 回答
0

这是一个警告,Java 编译器告诉您您定义了一个变量但从未使用它。

变量的目的是存储将在稍后的代码中使用的信息。Java 会给你一个警告,因为如果你定义了一个变量但从不使用它,你很可能犯了一个错误。这是因为从不使用的变量基本上是无意义的,不应该被声明。

试试这些打印语句:

System.out.println(shipmentNum);
System.out.println(supplierName);
System.out.println(revDate);
System.out.println(revTime);
System.out.println(employeeNum);
于 2013-09-13T15:31:51.287 回答
0

那不是Error,它只是IDEor 编译器显示的警告。这段代码编译和运行没有问题。

您可能想要执行以下操作

    String shipmentNum = "99";
    String supplierName = "Costco";
    String revDate = "12/15/2011";
    String revTime = "10:25 AM";
    String employeeNum = "33";


    System.out.println(shipmentNum);
    System.out.println(supplierName);
    System.out.println(revDate);
    System.out.println(revTime);
    System.out.println(employeeNum);
于 2013-09-13T15:32:13.223 回答
0

这个消息只是为了通知你,你有一些变量没有被使用。这不是错误。如果你不想看到这个警告或者你受不了,你可以在课程的开头添加@supresswarnings 注解。或者您只是按照其他人的建议使用您创建的变量。

于 2013-09-13T15:37:20.367 回答