Java变量'从未使用过'

时间:2015-09-11 04:21:54

标签: java

我正在学习Java,目前正在尝试将if语句和多个类文件组合在一起。 这是一个简单的I / O程序,如果 userName = JDoe 我希望程序说出标准之外的其他内容。

来自main.java:

import java.util.Scanner;
import java.lang.String;

class main {
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        UInput uInput = new UInput();
        System.out.println("What is your name: ");
        uInput.setName(input.nextLine());
        uInput.saying();
    }
}

class ifMain {
    public static void main(String[] args){
        String userName = "JDoe";

        if (test.matches("JDoe")) {
            System.out.println("You smell!");
        } else {
            UInput.saying();
        }
    }
}

来自UInput.java:

public class UInput {
    private String userName;
    public void setName(String name){
        userName = name;
    }
    public String getName(){
        return userName;
    }
    public void saying(){
        System.out.printf("Hello %s", getName());

    }
}

但是,在 class ifMain {} 中,IntelliJ说“变量userName从未使用过”,我缺少什么?

2 个答案:

答案 0 :(得分:1)

见评论:

class ifMain {
    public static void main(String[] args){
        String userName = "JDoe";              // <=== Declared here

        if (test.matches("JDoe")) {            // <=== Not used here
            System.out.println("You smell!");
        } else {
            UInput.saying();
        }
    }
}

本地变量userName从未在main类的ifMain方法中使用。

你可能意味着:

        if (test.matches(userName)) {

附注:Java中的压倒性的约定是类名以大写字符开头。所以IfMain,而不是ifMain

答案 1 :(得分:0)

你的程序甚至不会在第一时间编译。我相信你是Java新手。但是,看看这段代码。

class ifMain {//Please change the class name to CamelCase convention
    public static void main(String[] args){
        String userName = "JDoe";

        if (test.matches("JDoe")) {// Compile error. Variable test is not declared.
            System.out.println("You smell!");
        } else {
            UInput.saying();
        }
    }
}

您是否正在尝试记事本并执行它?在这种情况下,您可以尝试使用eclipse / NetBeans / IntelliJ IDE来更好地帮助您。