Java在另一个方法中调用变量
我是Java编程新手,我有一个简单的问题,但我不能做,因为我不知道如何在Java上编写它。提前谢谢 我想在另一个方法中调用变量值Java在另一个方法中调用变量,java,variables,io,bufferedreader,Java,Variables,Io,Bufferedreader,我是Java编程新手,我有一个简单的问题,但我不能做,因为我不知道如何在Java上编写它。提前谢谢 我想在另一个方法中调用变量值 public static void ReadIN() throws Exception{ BufferedReader br = new BufferedReader(new FileReader("test.txt")); String line = null; while ((line = br.readLine
public static void ReadIN() throws Exception{
BufferedReader br = new BufferedReader(new FileReader("test.txt"));
String line = null;
while ((line = br.readLine()) != null) {
String[] values = line.split(","); // want to be call
for (String inputIN : values) {
inputIN = values[2];
}
}
br.close();
}
public static void checkStatus() {
// call variable 'values' here
}
不确定你到底需要什么。无论如何,试试这个:
public static void readIN() throws Exception{
BufferedReader br = new BufferedReader(new FileReader("test.txt"));
String line = null;
while ((line = br.readLine()) != null) {
String[] values = line.split(","); // want to be call
for (String inputIN : values) {
inputIN = values[2];
}
checkStatus(values);
}
br.close();
}
public static void checkStatus(String[] values) {
// call variable 'values' here
System.out.println(values);
}
顺便说一句,遵循命名约定
编辑:以下代码应在Test.java中成功编译
import java.io.*;
public class Test
{
public static void main(String[] args) throws Exception {
Test.readIN();
}
public static void readIN() throws Exception {
BufferedReader br = new BufferedReader(new FileReader("test.txt"));
String line = null;
while ((line = br.readLine()) != null) {
String[] values = line.split(",");
Test.checkStatus(values);
}
br.close();
}
public static void checkStatus(String[] values) {
// call variable 'values' here
System.out.println(values);
}
}
您不能访问拥有方法变量的方法之外的方法变量。如果变量直接属于某个类,则可以通过其他方法访问这些变量。您不能这样调用变量。一种方法是全局声明变量值(在main或任何其他函数之外,在包和导入的正下方顶部)。这样,所有其他函数都可以使用变量值。另一种方法是从main调用checkStatus函数并发送变量值。下面的例子 在主要功能方面:
checkStatus(values);
调用传递变量值的函数checkStatus。JAVA是一种严格的只传递值的语言。发生的情况是调用函数checkStatus,并使用其中的相同值创建变量值的副本,并将其传递给函数
功能:
checkStatus(values);
public static void checkStatus(String[] values)
{
// call variable 'values' here
// Here you can make use of the variable values
}
如果您计划修改函数checkStatus中的变量值,并希望它在main中一起被修改,那么您可以像这样将值返回main 大体上
String[] receive;
receive = checkStatus(values);
在函数中:
public static String checkStatus(String[] values)
{
//Once you are done with your codes
return values;
}
希望这有帮助。如果您需要进一步的澄清或帮助,请发表评论。那么您到底想要什么?我遇到了错误,必需:字符串[]找到:无参数原因:如果您将方法声明为
checkStatus
public static void checkStatus(字符串[]值),则实际参数列表和正式参数列表的长度不同然后每次调用checkStatus
时,都需要一个字符串[]
参数。因此,请确保您正在编写类似于checkStatus(values)
而不是checkStatus()
是的,我在我的main方法中将其称为obj.checkStatus(values);请参见编辑。事实上,我不认为会有编译错误。请检查您是否真的正确声明和调用了该方法。试着编译我新添加的代码,看看是否还有问题。我只需要从方法ReadIN中获取变量'values'的值,然后我将在方法checkStatus中创建一个函数,将其与某物进行比较。然后不需要使用return方法。用我贴在答案上面的方法。只需将值发送过来并用于比较。因为如果不先将值从ReadIN发送到checkStatus,就无法从ReadIN访问变量值。或者就像我说的,您可以始终将值设置为全局变量,以便所有其他函数都可以访问它。相同的错误bro-required:String[]found:no arguments原因:实际参数列表和形式参数列表在长度上不同。我可以知道(String inputIN:values){inputIN=values[2];}String inputIN变量、FOREACH循环、FOREACH值将存储在inputIN中,但我刚刚得到索引[2],感谢您的解释!这让我对访问变量有了一个清晰的理解。当然。如果这是你想要的,请接受答案。