我正在学习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从未使用过”,我缺少什么?
答案 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来更好地帮助您。