gpt4 book ai didi

java - 变量未初始化,Void 方法无法返回值,无法解析为变量

转载 作者:行者123 更新时间:2023-11-29 07:29:47 24 4
gpt4 key购买 nike

我试图让用户输入以找出用户想要打开的文件的名称,但是在我的 setName() 方法中,虽然我认为它应该是,变量 FileName 没有被初始化。我也可能对 getName() 方法有另一个问题,但我不确定它是什么。我能得到一些帮助吗?!

public void setName(){

Scanner input = new Scanner(System.in);
String FileName;
boolean done = false;

do{#Until the user enters a proper input it should continue to ask for input
System.out.println("Please enter the name of the input file!");
if(input.hasNextLine()){
FileName = input.next();
done = true;

}else{
System.out.println("Please enter a valid name");
}


}while(!done);

return FileName // not being initialized and "Void methods cannot return a value"

}
public String getName(){
return FileName; //The IDE says "FileName cannot be resolved to a variable"

最佳答案

您的代码毫无意义。您试图在要设置内容的空白处返回一个字符串。因此,无论出于何种原因,都没有理由编写 return FileName;(因此您拥有 getName 方法)。第二件事你需要在你的两种方法之前初始化一个 private String FileName。然后在你的方法 setName() 说完 FileName = input.next(); 你需要说 this.FileName = FileName; 所以您实际上有一个可以使用的变量。这是代码以及我将如何做:

private String FileName;

public void setName(){

Scanner input = new Scanner(System.in);
String FileName;

do{#Until the user enters a proper input it should continue to ask for input
System.out.println("Please enter the name of the input file!");
if(input.hasNextLine()){
FileName = input.next();
this.FileName = FileName

}else{
System.out.println("Please enter a valid name");
}

public String getName(){
return FileName;#The IDE says it can't resolve symbol FileName
}

关于java - 变量未初始化,Void 方法无法返回值,无法解析为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44483232/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com