扫描错误:未使用局部变量扫描的值

时间:2017-05-21 04:30:14

标签: java

import java.util.Scanner;

public class KillBill {

    public KillBill() {
        // TODO Auto-generated constructor stub
    }

    public static void Main(String[] args) {
        // TODO Auto-generated method stub
Scanner Scan = new Scanner (System.in);
    }

}                

IN 11th LINE .IT认为本地可变扫描的价值未被使用

4 个答案:

答案 0 :(得分:0)

如果设置并且未使用变量,则会出错。您可以使用“扫描”更正警告,例如:

public static void Main(String[] args) {
    // TODO Auto-generated method stub
    Scanner scan = new Scanner (System.in);
    String text = scan.nextLine();
    System.out.println(text);
}

这里的想法是现在正在使用每个变量。

答案 1 :(得分:0)

试试这个。

public class KillBill {

    public KillBill(Scanner scan) {
        // TODO Auto-generated constructor stub
        int value = scan.nextInt();
        System.out.println(value);
    }

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner Scan = new Scanner (System.in);
        new KillBill(Scan);
    }
}

该问题/警告是由未使用的变量引起的。不是一个严重的问题。

答案 2 :(得分:0)

嗯,说实话,您所提供的代码中的Scanner对象并未在其他地方使用过。但不要担心,这只是一个警告(黄色锯齿状下划线)而不是错误(红色锯齿状下划线)。在这种情况下,它只是告诉您,您的程序目前有一个未使用的变量,其删除不会影响代码而不是当前的代码。请记住,计算机仍然必须读取每一行,并且读取未使用的变量(尤其是对象)可能会降低程序的速度,即使只是几分之一毫秒。因此建议删除这些不必要的代码行。

但是请记住,这与CURRENT情况有关,而不是你要通过逐字地使用你未使用的变量来改变你的程序。

答案 3 :(得分:0)

声明扫描器并不使用它不是问题,真正的问题是主方法签名的签名,不应该使用UpperCase:

public static void main(String[] args) {
//                  ^^-----------------In your program it is M

注意 java使用CamelCase您的变量名称以小写字母开头为好的做法(扫描应扫描)