Java 构造函数的循环方法

Java 构造函数的循环方法,java,loops,Java,Loops,我应该如何循环这个构造函数?参数是从文本文件传递的。我尝试了一个while循环,但它甚至没有读取文本文件的第一行。我的文本文件包含ff: s0,a,s0,a,-1(--下一行--)s0,b,s0,b,-1。如果不使用循环,它将获取文本文件的内容,并将其传递给构造函数。 编辑:我已经更正并标记了要循环的构造函数。如果我包含第二个while循环,它不会获取文本文件的内容 Edit2:第一个while循环将文本文件的内容放入名为argument的数组。第二个while循环执行循环,将参数数组的内容传递

我应该如何循环这个构造函数?参数是从文本文件传递的。我尝试了一个while循环,但它甚至没有读取文本文件的第一行。我的文本文件包含ff:
s0,a,s0,a,-1(--下一行--)s0,b,s0,b,-1
。如果不使用循环,它将获取文本文件的内容,并将其传递给构造函数。
编辑:我已经更正并标记了要循环的构造函数。如果我包含第二个while循环,它不会获取文本文件的内容

Edit2:第一个while循环将文本文件的内容放入名为argument的数组。第二个while循环执行循环,将参数数组的内容传递给变量,然后变量将其传递给构造函数。第二个while循环不起作用

Scanner scanner = new Scanner(new File("D:\\Kirk\\Documents\\NetBeansProjects\\TuringMachine\\src\\turingmachine\\Algorithms.txt"));
String data = scanner.nextLine();
String[] arguments = data.split(",");
StringTokenizer st = new StringTokenizer(data);
int i = 0;
while (st.hasMoreTokens()) { //loop for putting contents of text file to array
    arguments[i++] = st.nextToken();
}//end loop


while(scanner.hasNextLine()){  //loop transition function(not working)
    String fromstate = arguments[0];
    String read = arguments[1];
    String tostate = arguments[2];
    String write = arguments[3];
    int move = Integer.parseInt(arguments[4]);
    trans.add(new Transition(new StateTapeSymbolPair(fromstate, read), new StateTapeSymbolPair(tostate, write),move));
    //loop the above constructor
}//end while

您没有循环以获取eah行的数据。 这里有一个例子:

Scanner scanner = new Scanner(new File("Algorithms.txt"));

    while(scanner.hasNext()){

         String data = scanner.nextLine();     // your line          
         String[] arguments = data.split(","); // split the line

         // getting data for each data inside the line
              String fromstate = arguments[0];
                String read = arguments[1];
                String tostate = arguments[2];
                String write = arguments[3];
                int move = Integer.parseInt(arguments[4]);

               System.out.println(fromstate+"-"+read+"-"+tostate+"-"+write+"-"+move);

        }

您没有循环以获取eah行的数据。 这里有一个例子:

Scanner scanner = new Scanner(new File("Algorithms.txt"));

    while(scanner.hasNext()){

         String data = scanner.nextLine();     // your line          
         String[] arguments = data.split(","); // split the line

         // getting data for each data inside the line
              String fromstate = arguments[0];
                String read = arguments[1];
                String tostate = arguments[2];
                String write = arguments[3];
                int move = Integer.parseInt(arguments[4]);

               System.out.println(fromstate+"-"+read+"-"+tostate+"-"+write+"-"+move);

        }

你问的不是很清楚。哪个构造函数?“循环构造函数”是什么意思?编辑您的问题并添加更多详细信息,或者在代码中添加一些注释,指出您的问题所涉及的内容。好的,我已经编辑了代码。我已经评论了我遇到问题的while循环,abd我需要循环的代码,仍然不清楚你在问什么。你是说内在的while不循环吗?你问的不太清楚。哪个构造函数?“循环构造函数”是什么意思?编辑您的问题并添加更多详细信息,或者在代码中添加一些注释,指出您的问题所涉及的内容。好的,我已经编辑了代码。我已经评论了我遇到问题的while循环,abd我需要循环的代码,仍然不清楚你在问什么。你是说内部的while不循环?谢谢!所以我的错误是我把字符串数据和参数数组放在一个单独的数组中?代码中有一些错误。获取文件的第一行,根据“,”分隔符将该行的每个数据放入数组中,然后使用第一行值更新该数组的第一个元素。最后,使用一个真实条件循环以获取该数组的数据。不要指向要拆分的行。谢谢!所以我的错误是我把字符串数据和参数数组放在一个单独的数组中?代码中有一些错误。获取文件的第一行,根据“,”分隔符将该行的每个数据放入数组中,然后使用第一行值更新该数组的第一个元素。最后,使用一个真实条件循环以获取该数组的数据。您没有指向要拆分的线。