gpt4 book ai didi

java - 将数据文件输入字符串数组

转载 作者:行者123 更新时间:2023-12-02 05:52:16 26 4
gpt4 key购买 nike

我正在尝试学习如何从 .dat 文件输入并将其迭代到字符串数组中。从我到目前为止所读到的内容来看,这是可能的。

目前,我正在尝试测试它是否使用我的字符串变量之一向数组写入任何内容。

我真的很困惑如何让它发挥作用。当我编译时,我收到一个错误,StudentID 字符串变量从未被初始化。

public class testInput
{
static Scanner testanswers;
static PrintWriter testresults;

public static void main(String[] args)
{
testanswers = new Scanner(new FileReader("TestInput.dat"));
testresults = new PrintWriter("TestOutput.dat");

String StudentID;
String answers;

while(testanswers.hasNextLine())
{
StudentID = testanswers.next();
answers = testanswers.next();
}

String[][] answerArray = new String[7][2];

for(int row = 0; col < answerArray.length; col++)
{
for(int col = 0; col < answerArray.length; col++)
{
answerArray[row][col] = StudentID:
System.out.print(answerArray[row][col]);
}
}


}

}

.dat 文件如下所示:

TFFTFFTTTTFFTFTFTFTT
5
ABC54301 TFTFTFTT TFTFTFFTTFT
SJU12874 TTTFFTFFFTFTFFTTFTTF
KSPWFG47 FT FT FTFTFFTTFFTF
PAR38501 FFFFFFFFFFFFFFFFFFFF
MCY19507 TTTT TTTT TTTT TT TT

我的逻辑是不是错了?

最佳答案

局部变量在 Java 中使用之前需要显式初始化。正如 @ajb 在下面的评论中提到的, while 循环可能永远不会运行(因为文件可能为空),因此有可能在初始化之前使用。

   String StudentID = "";
String answers = "";

此外,您还需要决定是按行阅读还是按单词阅读。不要将 hasNextLine()next() 混合使用。

您的代码还存在各种其他语法问题。这是一个工作版本。

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

public class testInput
{
static Scanner testanswers;
static PrintWriter testresults;

public static void main(String[] args) throws IOException
{
testanswers = new Scanner(new FileReader("TestInput.dat"));

String StudentID;
String answers;
// Read first two lines first to know how many records there are.
String answerKey = testanswers.nextLine();
int count = Integer.parseInt(testanswers.nextLine());

// Allocate the array for the size needed.
String[][] answerArray = new String[count][];

for (int i = 0; i < count; i++)
{
String line = testanswers.nextLine();
answerArray[i] = line.split(" ", 2);
}


for(int row = 0; row < answerArray.length; row++)
{
for(int col = 0; col < answerArray[row].length; col++)
{
System.out.print(answerArray[row][col]);
}
System.out.println();
}


}

}

关于java - 将数据文件输入字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23438076/

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