从文本文件中读取整数并将其存储到单独的变量中? (扫描仪)

问题描述 投票:0回答:1

我在这里有一个两部分的问题。因此,我正在编写代码,以尝试从文本文件中读取整数作为坐标。例如,我有一个名为test1的文本文件,其内容类似于:50 00 510 53 3100。现在,这些整数应该表示坐标,这意味着50实际上转换为(5,0),(0,0), (5,10)等。

我正在尝试使用扫描仪进入该文本文件,并选择该两位数整数中的第一个数字,并将其存储为“ x”值,然后选择第二个数字并将其存储为“ y”值然后重复冲洗剩余部分。

 int nSheep = 0;
 while (sc.hasNextLine()) {
     nSheep++;
     sc.nextLine();
 }

这是我当前的代码,用于确定文本文件中有多少只绵羊。它基本上只是读取有多少行,对它们进行计数,并将它们存储在变量nSheep中。因此,在我的test1文件示例中,它将返回数字6。

for (int i = 0; i < nSheep; i++) {
    while (sc.hasNextLine()) {
        int x = sc.nextInt();
        int y = sc.nextInt();
    }
    System.out.println(x);
} 

这是我尝试读取整数并将它们存储在变量x和y中的尝试。我无法判断这是否接近工作,因为println不会打印任何内容。

最后...

xMin = xMax = sc.nextInt();
yMin = yMax = sc.nextInt();

//read the remaining coordinates
for (int i = 1; i <= nSheep - 1; i++) {
     while (sc.hasNextInt) {
        int x = sc.nextInt();
        int y = sc.nextInt();

        if (x < xMin)
            xMin = x;
        if (x > xMax)
            xMax = x;
        if (y < yMin)
            yMin = y;
        if (y > yMax)
            yMax = y;

        if (x < xMin)
           xMin = x;
        if (x > xMax)
           xMax = x;
        if (y < yMin)
           yMin = y;
        if (y > yMax)
           yMax = y;
    }
}
System.out.print("Fence Coordinates: {(" + xMin + "," + yMin + "), ");
System.out.print("(" + xMax + "," + yMin + "), ");
System.out.print("(" + xMax + "," + yMax + "), ");
System.out.println("(" + xMin + "," + yMax + ") ");

这是成功的代码,如果我要求用户输入绵羊的数量并自行协调,则该代码有效。唯一的区别是,我不需要用户输入,只希望扫描仪读取文本文件,确定坐标,然后将其打印出来。如果这个冗长的问题有意义,那么有人可以帮助我吗?

我在这里有一个两部分的问题。因此,我正在编写代码,以尝试从文本文件中读取整数作为坐标。例如,我有一个名为test1的文本文件,其内容为...

java file parsing int java.util.scanner
1个回答
0
投票

创建文件实例以引用Java中的文本文件

© www.soinside.com 2019 - 2024. All rights reserved.