java - inData 无法解析

标签 java text-files java.util.scanner

该程序将输出距用户可能输入的特定点的距离等。但是,我在设置扫描仪时遇到问题,因为它从另一个文本文件读取输入。这是我的代码:

public class junior 
{


public static void main(String[] args)throws IOException
{
    double avgMPG;
    double pricePer;
    double speed;
    String letter1;
    String letter2;
    int start = 0;
    int end=0;
    int distance;


    Scanner inData = new Scanner(new File("input.txt"));

    boolean repeat=false;
while (inData.hasNext())
{
    letter1.inData.next();
    letter2.inData.next();


    while (!repeat)
        {


            System.out.print("1.");
            letter1=inData.next();
            if(letter1.equals("A"))
            {
                start=0;
                repeat=true;

            }
            else if (letter1.equals("B"))
            {
                start=450;
                repeat=true;


            }
            else if (letter1.equals("C"))
            {
                start=590;
                repeat=true;

            }
            else if (letter1.equals("D"))
            {
                start=710;
                repeat=true;

            }
            else if(letter1.equals("E"))
            {
                start=1030;
                repeat=true;

            }
            else if (letter1.equals("F"))
            {
                start=1280;
                repeat=true;

            }
            else if (letter1.equals("G"))
            {
                start=1360;
                repeat=true;
            }
            else
            {
                System.out.println("ERROR: You didn't enter a valid character. Please try again");
                repeat=false;
            }
        }

repeat=false;
while (!repeat)
{


    if(letter2.equals("A"))
    {
        end=0;
        repeat=true;

    }
    else if (letter2.equals("B"))
    {
        end=450;
        repeat=true;


    }
    else if (letter2.equals("C"))
    {
        end=590;
        repeat=true;

    }
    else if (letter2.equals("D"))
    {
        end=710;
        repeat=true;

    }
    else if(letter2.equals("E"))
    {
        end=1030;
        repeat=true;

    }
    else if (letter2.equals("F"))
    {
        end=1280;
        repeat=true;

    }
    else if (letter2.equals("G"))
    {
        end=1360;
        repeat=true;
    }
    else
    {
        System.out.println("ERROR: You didn't enter a valid character. Please try again");
        repeat=false;
    }
    distance=end-start;
    System.out.print("Total distance: "+distance);
}
}
}


}

“inData.next”部分不断发送错误,表示该字段不存在或无法解析。如何修复此问题以正确读取我的测试文件?

最佳答案

看起来好像在这里

letter1.inData.next();
letter2.inData.next();

您正在尝试从扫描仪读取数据并将结果放入您的String 变量中。但要做到这一点,你想要

letter1 = inData.next();
letter2 = inData.next();

编译器会提示,因为您试图访问 String 变量中名为 inData 的字段(这就是 letter1.inData 的含义),但它们没有这样的字段。

关于java - inData 无法解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27299264/

相关文章:

c - 如何在输入到文本文件的每个字符串之间添加空格

java - 当扫描仪读取到最后一个单词时停止扫描仪

java - 带有前缀和可选后缀的正则表达式

带有 "..."数组的 Java 主要方法?

java - ObjectDeletion 如何在 java 卡中工作?

java - 为什么 KeyListener.onKey 会触发两次?

file - 如何在 MATLAB 中将数据保存在 .txt 文件中

java - 我一直坚持创建一个循环来一次读取文件的 6 行,并将每行保存到一个变量中以供稍后用于计算

java - 部分填充的数组 - 获取最小值和 toString

java - 将字符串分配给 stringArray 时返回 NullPointerException?