繁体   English   中英

如何传递输入文件的值并将其传递给另一种方法

[英]How to pass value of input file and pass it to another method

这是我尝试的方法:我尝试在isDeadlock方法中打印矩阵,输出全为零,并且似乎不保留读取文件后调用矩阵的值,因此无法在方法中使用。

import java.io.*;
import java.util.*;

public class Findcycle {    
static int[][] matrix = new int[10000][10000];

    public static void main(String[] args) {      
        {

            int x=0, y=0;

            try
            {
            BufferedReader in = new BufferedReader(new FileReader("TestCase1.txt"));

                String line;
                while ((line = in.readLine()) != null)  
                {

                    String[] values = line.split(",");

                    for (String str : values)
                    {
                        int str_int = Integer.parseInt(str);
                        matrix[x][y]=str_int;

                        System.out.print(matrix[x][y] + " ");
                        y=y+1;
                    }
                    System.out.println("");
                    x=x+1;

                }   

                in.close();
                System.out.println(isDeadlock(matrix));

            }catch( IOException ioException ) {}

        }

    }
    public static class Node{
        int id;
        List<Node> getNodes = new ArrayList<Node>();
        public Node(int id){
            this.id=id;
        }
    }


    public static String isDeadlock(int matrix[][]){
        List<Node> nodes = new ArrayList<Node>();

       for(int i=0;i<matrix.length;i++) {
        for(int j=0;j<matrix[i].length;j++) {
            System.out.println(matrix[i][j]);
            }
        }

  ...

    }

我应该怎么做才能解决这个问题? 我是新手。 非常感谢

当您读取文件并填充矩阵时,无需为每行重新设置y。 所以在x=x+1; 您需要添加y = 0; 否则,y将会继续增长,并且所有连续行的数据都将越来越向右偏移。

这不是错误,但由于matrix是静态变量,因此您无需将其作为参数发送给isDeadlock。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM