Java调用另一种方法中的变量

时间:2015-04-02 02:48:02

标签: 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()) != 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

      }

3 个答案:

答案 0 :(得分:1)

不确定你到底需要什么。无论如何试试这个:

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);
    }
}

答案 1 :(得分:0)

您无法在拥有它们的方法之外访问方法变量。如果变量直接属于某个类,则可以通过其他方法访问变量。

答案 2 :(得分:0)

你不能这样调用变量。您可以采取的一种方法是全局声明变量值(在主函数或任何其他函数之外,并且在包和导入之下的顶部)。这样所有其他函数都可以使用变量值。另一种方法是从main发送变量值调用checkStatus函数。以下示例

主要功能

checkStatus(values);

调用函数checkStatus传递变量值。 JAVA是一种严格的价值传递语言。会发生的是调用函数checkStatus,并使用相同的值创建变量值的副本并传递给函数。

功能:

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;
}

希望这会有所帮助。如果您需要进一步澄清或帮助,请发表评论。