Java 如何解析文件

Java 如何解析文件,java,parsing,Java,Parsing,好的,我有一个作业,我不知道如何解析文件。字符串标记器是我最好的选择吗? 该文件包含逗号、换行符和空格。S是起始状态,小a是输入,大a是下一个状态。我是否应该将文件解析为单独的变量,并通过开关案例运行它以模拟状态机 这是文件 ‘Ends in a 2 S, a, A S, b, S A, a, A A, b, S F: A aba bbaabba bbabab aaaab b a 非常感谢你,因为我似乎无法开始 我最大的问题是如何解析文件 像任何其他文本文件一样。在网络上有数百万个这样做的例子

好的,我有一个作业,我不知道如何解析文件。字符串标记器是我最好的选择吗? 该文件包含逗号、换行符和空格。S是起始状态,小a是输入,大a是下一个状态。我是否应该将文件解析为单独的变量,并通过开关案例运行它以模拟状态机

这是文件

‘Ends in a
2
S, a, A
S, b, S
A, a, A
A, b, S
F: A
aba
bbaabba
bbabab
aaaab
b
a
非常感谢你,因为我似乎无法开始

我最大的问题是如何解析文件

像任何其他文本文件一样。在网络上有数百万个这样做的例子

我将使用
Scanner
类查找示例

我不太擅长解析文件。尤其是在这种情况下

通过练习,它会变得更容易。做这个作业会有帮助

我应该用测微仪吗

这个文件有分隔符,所以我不知道你为什么不这样做

逗号和换行符

您的文件包含逗号、换行符和空格

将状态放入一个数组,将输入(a,b)放入第二个数组

Java是一种面向对象的编程语言。也许使用地图和对象等集合是更好的选择

我应该检查一下数字吗,伊萨普哈

我只是假设文件是正确的格式化程序,当您希望有一个数字时读取数字,当您希望有一个单词/令牌时读取字符串

大写字母和小写字母

不确定这是否是一个考虑因素

我想我需要一个开关和几个箱子来处理状态转换

如果您的状态是用Java代码处理的,我会说是的。但是,您声明正在从文本文件读取并存储在数据结构中。在这种情况下,不使用开关更简单

有人能解释一下我应该如何处理这个文件以便我能处理它吗

读取数据,将数据存储在结构中,处理输入

我还对如何处理该文件中的:F A感到困惑

这是您需要记录的信息,以确定DFA何时停止

我最大的问题是如何解析文件

像任何其他文本文件一样。在网络上有数百万个这样做的例子

我将使用
Scanner
类查找示例

我不太擅长解析文件。尤其是在这种情况下

通过练习,它会变得更容易。做这个作业会有帮助

我应该用测微仪吗

这个文件有分隔符,所以我不知道你为什么不这样做

逗号和换行符

您的文件包含逗号、换行符和空格

将状态放入一个数组,将输入(a,b)放入第二个数组

Java是一种面向对象的编程语言。也许使用地图和对象等集合是更好的选择

我应该检查一下数字吗,伊萨普哈

我只是假设文件是正确的格式化程序,当您希望有一个数字时读取数字,当您希望有一个单词/令牌时读取字符串

大写字母和小写字母

不确定这是否是一个考虑因素

我想我需要一个开关和几个箱子来处理状态转换

如果您的状态是用Java代码处理的,我会说是的。但是,您声明正在从文本文件读取并存储在数据结构中。在这种情况下,不使用开关更简单

有人能解释一下我应该如何处理这个文件以便我能处理它吗

读取数据,将数据存储在结构中,处理输入

我还对如何处理该文件中的:F A感到困惑


这是您需要记录的信息,以确定DFA何时停止。

Java是一种面向对象的语言,因此需要构建一系列反映真实世界的类

例如:

你有什么?他们需要做什么

  • DFA

    • 有一系列的状态
    • 需要能够接受/拒绝输入字符串
  • 陈述

    • 具有要查找的输入集合和基于输入转换到的状态
    • 需要能够检查令牌并转换到新状态

因此,这些类型控制您应该如何布局类(成员和方法)。因此,您应该创建一个DFA类,它应该有一个方法:公共布尔过程(字符串输入)

Java是一种面向对象的语言,因此需要构建一系列反映真实世界的类

例如:

你有什么?他们需要做什么

  • DFA

    • 有一系列的状态
    • 需要能够接受/拒绝输入字符串
  • 陈述

    • 具有要查找的输入集合和基于输入转换到的状态
    • 需要能够检查令牌并转换到新状态

因此,这些类型控制您应该如何布局类(成员和方法)。因此,您应该创建一个DFA类,它应该有一个方法:公共布尔过程(字符串输入)

如果您要在答案中查找任何真正的代码,则需要选择单个语言标记。是java还是C++,是什么?你的问题很模糊。标题和第一句话表明您不知道如何解析文件,但最后您会问如何基于此数据实现状态机。也许您更愿意将其拆分为单独的问题,以便于人们帮助您。如果您要在答案中查找任何真正的代码,您需要选择一个单一的语言标记。是java还是C++,是什么?你的问题很模糊。标题和第一句话表明您不知道如何解析文件,但最后您会问如何基于此数据实现状态机。也许你更愿意把这些问题分成几个单独的问题,让人们更容易地帮助你。但这仍然不起作用