gpt4 book ai didi

java - 初学者 - 从另一个类打开方法

转载 作者:行者123 更新时间:2023-12-01 07:56:56 25 4
gpt4 key购买 nike

我有点困惑。

我有两个java文件,一个是ApplicationXXX.java(Main),另一个是readInput.java。现在我的目标是执行主类中 readInput 的方法。我知道这样的例子:

readInput read = new readInput();

这样我只能访问该方法的值,但该方法还包括输入字段,我将缩短 readInput 的内容,因为它包括大量的合理性检查。第一次我只想打开方法来读入值,而不返回任何变量。我还导入了 ApplicationXXX.java 中的包。

package application.test;

import java.io.bufferedeader;

public class readInput {

public String var1;
public String var2;

public readInput();

BufferedReader input = new BufferedReader(new InputStreamReader(
System.in));

System.out.println("Enter Var 1:");
this.var1 = input.readLine();

System.out.println("Enter Var 2:");
this.var2 = input.readLine();

}
}

如果有人能帮助我,那就太好了。当您需要更多信息时,只需评论即可。

最佳答案

您没有在这里声明任何方法,以下 block 应该位于方法或构造函数中:

BufferedReader input = new BufferedReader(new InputStreamReader(
System.in));

System.out.println("Enter Var 1:");
this.var1 = input.readLine();

System.out.println("Enter Var 2:");
this.var2 = input.readLine();

我怀疑您希望在构造函数中使用此 block ,然后您应该更改该行

public readInput();

   public readInput() { 

BufferedReader input = new BufferedReader(new InputStreamReader(
System.in));

System.out.println("Enter Var 1:");
this.var1 = input.readLine();

System.out.println("Enter Var 2:");
this.var2 = input.readLine();

}
<小时/>

顺便说一句,在 java 中,类应以大写字母开头(强约定),因此该类(和构造函数)应重命名为 ReadInput

您还应该重新考虑类的名称(它不应该是动词),并且工作可能应该在方法中完成 - 而不是在构造函数中。

编辑:这是一个小的重构建议:

public class InputReader { //not a verb, upper case

public String var1;
public String var2;

// removed the default constructor, there is no need for it
public void readInput() { //this is a method! not constructor!

BufferedReader input = new BufferedReader(new InputStreamReader(System.in));

System.out.println("Enter Var 1:");
this.var1 = input.readLine();

System.out.println("Enter Var 2:");
this.var2 = input.readLine();

}
}

关于java - 初学者 - 从另一个类打开方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28964429/

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