当前位置: 首页 > 知识库问答 >
问题:

用扫描器从txt文件中读取字符并添加到二维数组中

萧光华
2023-03-14

我有一个txt文件,我正试图用扫描仪类读取它。

我正在使用一个double for循环来读取文件,并在其上读取到一个2D数组。

该文件如下所示:

3 3。R#。.#。.#

第一行分别是2D数组的长度和宽度。

3 3 1 0 1 1 1 0 0 1

我在这里使用的方法如下所示:

readFile(String filename){
  Scanner scan = new Scanner(new File(filename));
  // read the first two numbers in the file for the size of the array
  int numberRows = scan.nextInt();
  int numberColumns = scan.nextInt();

  char[][] grid = new char[numberRows][numberColums];
  for (int i = 0; i < numberRows; i++) {
      for (int j = 0; j < numberColumns; j++) {
           grid[i][j] = scan.next().charAt(0);
      }
   }
}

我希望这与使用char而不是int时的工作方式相同。

共有1个答案

酆茂才
2023-03-14

scanner.next()总是返回字符串。有关更多信息,请查看https://docs.oracle.com/javase/7/docs/api/java/util/scanner.html。在对scan.next()(例如scan.next().charat(0)执行任何操作之前,应该检查If(Scan.hasnext())条件。

 类似资料:
  • 我经常访问这个网站,但我遇到了一些我无法回答的问题。这是类似于其他几个职位,在这里,但我还没有找到一个答案,我正在寻找。 需要注意的是,这是学校课程的一部分,目前这是一个更大的java项目的独立java类。目前,我无法编辑. txt文件,并且仅限于使用以下资源: 标准JDK资源 使用以下列表: 每个条目由制表符分隔。 我当前的java代码如下: 我当前的输出如下:john。doe 108DE81C

  • 我想为这个代码寻求一些帮助。我没有问题读取一个文件本身和使用它作为扫描仪。我可以很容易地数出文件的双倍数。作为一个例子,这些是txt文件的前五个double。(这些数字应该是垂直列出的,但我几乎不怀疑这会有所不同) 这段代码总体上只是打印0.0的“num”数量,而不是将实际数字本身相加。请帮忙,谢谢。

  • 所以,我试图让我的程序从文本文件中读入一个结构数组,它编译得很好,但看起来并没有真正读入值?...我不知道为什么。这是代码的相关部分: 这是txt文件(标题:Planets.txt) 水星120 50 500 12.1 30 2金星120 50 500 29.1 30 6地球120 50 500 32.2 30 7月亮120 15 50 5.3 30 2火星120 50 500 12.2 30 4

  • 问题内容: 如何从字符串读取numpy数组?采取类似的字符串: 并将其转换为数组: 在哪里成为对象: 更新 : 我正在寻找一个非常简单的界面。一种将2D数组(浮点数)转换为字符串,然后将其读回以重建数组的方法: 应该回来 应该返回对象 理想的情况是,如果有一个用来控制将浮点精度转换为字符串的精度参数,那么您就不会得到像这样的条目。 在numpy的文档中我找不到任何可以同时完成这两种操作的文档。可让

  • 我正在创建一个程序,在那里我必须阅读特殊的文本文件。我在将文本从指定的单词读入另一个指定的单词(不包括这些单词)时遇到问题。使用扫描仪是解决这个问题的好方法吗?我的意思是: “文本1 课文2 课文3 文本4 文本5“ 我想从它得到字符串与"文本2文本3文本4"。 我尝试使用useDlimeter,但我不知道如何将其应用于这种情况。我创建了一个允许我跳过行的方法,但从长远来看,这不是一个好的解决方案

  • 我正在参加一个在线Java课程,并尝试我的第二个作业。第一项作业并不难,但这一项就差强人意了。我真的不知道从何说起。问题是这门课是在线的,基本的指导是阅读这些章节,然后编写程序。没有太多的指导,因为我的指导老师不在我身体上。 我以前从来没有使用过扫描器,也没有创建过二维数组。我的指导老师给出了在他的基础课程的每一个领域应该做什么的笔记,但我不知道从哪一个开始。 您的任务是实现一个类似的方案来存储任