确定文本文件读入程序(java)中的各种元素时出现问题

确定文本文件读入程序(java)中的各种元素时出现问题,java,file,text,arraylist,Java,File,Text,Arraylist,我很难确定如何以可用的方式拆分文本文件中的各个元素。我的程序意味着在一个文本文件中读取一个arraylist,显示可能的答案,询问答案,只有在给出正确答案时才继续。问题是,文本文件必须有不同数量的答案,因此没有数字方法来确定何时在文本文件中找到问题以及有多少问题。以下是测验文本文件的示例: 要舔几下才能到达tootsie pop的tootsie roll中心?(问题) 4(分配给正确答案的数值) (可能的答案) 一个 两个 三 四 你叫什么名字 三, 亚瑟,英国国王 勇敢的兰斯洛特爵士 罗宾爵士

我很难确定如何以可用的方式拆分文本文件中的各个元素。我的程序意味着在一个文本文件中读取一个arraylist,显示可能的答案,询问答案,只有在给出正确答案时才继续。问题是,文本文件必须有不同数量的答案,因此没有数字方法来确定何时在文本文件中找到问题以及有多少问题。以下是测验文本文件的示例:

要舔几下才能到达tootsie pop的tootsie roll中心?(问题

4(分配给正确答案的数值

可能的答案

一个

两个

你叫什么名字

三,

亚瑟,英国国王

勇敢的兰斯洛特爵士

罗宾爵士不如兰斯洛特爵士勇敢

谁先上

五,

什么

为什么

因为

我不知道

我讨厌问你们这样一个大的逻辑问题,但我真的被困在这个问题上了。 这是我的密码:

import java.util.*;
import java.io.*;
public class JavaApplication8 {

/**
 * @param args the command line arguments
 */
public static void main(String[] args) throws IOException{

    Scanner inScan = new Scanner(System.in);

    String file_name;
    System.out.print("What is the full file path name?\n>>");
    file_name = inScan.next();

    Scanner fScan = new Scanner(new File(file_name));
    ArrayList<String> Questions = new ArrayList();



    while (fScan.hasNextLine()) 
    {
        Questions.add(fScan.nextLine());
    }

    System.out.println(Questions.get(0));
    System.out.println(Questions.get(2));
    System.out.println(Questions.get(3));
    System.out.println(Questions.get(4));
    System.out.println(Questions.get(5));


    String guess;
    System.out.print("What is your answer?\n>>");
    guess = inScan.next();

    if (guess == Questions.get(1))
    {
        System.out.println("Correct");
    }

    else

        System.out.println("Incorrect");






}
import java.util.*;
导入java.io.*;
公共类JavaApplication8{
/**
*@param指定命令行参数
*/
公共静态void main(字符串[]args)引发IOException{
扫描仪inScan=新扫描仪(System.in);
字符串文件名;
System.out.print(“完整文件路径名是什么?\n>>”;
file_name=inScan.next();
Scanner fScan=新扫描仪(新文件(文件名));
ArrayList问题=新建ArrayList();
而(fScan.hasNextLine())
{
添加(fScan.nextLine());
}
System.out.println(Questions.get(0));
System.out.println(Questions.get(2));
System.out.println(Questions.get(3));
System.out.println(Questions.get(4));
System.out.println(Questions.get(5));
字符串猜测;
System.out.print(“您的答案是什么?\n>>”;
guess=inScan.next();
如果(猜测==问题。获取(1))
{
系统输出打印项次(“正确”);
}
其他的
系统输出打印项次(“不正确”);
}

**我没有为附加问题编写代码,只编写了第一个问题。

似乎问号的唯一实例是当有问题时。测试文件中的每一行,看看该行中是否有问号。如果有,则这是一个新的问题/答案集。

问一个广泛的问题是一个问题,但我不这么认为e以上帖子中有任何问题。请澄清并提出一个问题。我如何确定文本文件中何时存在问题?我通常会计算文本文件中的行数,然后按除法平均分割,那么每个答案中可能出现的问题数量一定不均。在我看来,您的文件格式不会改变lp you因为你可能的答案数量不一致,无法确定应该有多少(前两个有4个,最后一个有5个)@MadProgrammer现在你看到我的问题了。这显然不是我强加给自己的规则为了找到文本问号,你可以使用
索引
字符串函数:这肯定非常有用。我将查找分隔符的用法。但问题仍然是如何确定有多少可能的答案。对于每个问题,我必须打印可能的答案以及问题。对于我的问题,我实际上没有包括整个文本文件。下面是可能的答案wers有三个数字表示测验的其他特定属性(回答正确/不正确的次数),我必须回答。结束可能是唯一一次数字值直接跟在答案后面,对吗?(即“正确答案”输入紧跟在问题后面,而不是答案选择)因此,请检查输入行是否包含
。如果是,您有一个新问题要处理。如果不是,请检查它是否是一个数字,并且最后输入的不是一个新问题。如果是,您已经达到了EOF的数字。否则,您可以选择答案。谢谢。这非常有帮助。我希望在lectu中提到一个解决方案是的,但很遗憾,我不乐意帮忙!如果您认为我的解决方案令人满意,请“接受”——谢谢