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

Java 从文本文件中读取整数并存储到单独的变量中?(扫描仪),java,file,parsing,int,java.util.scanner,Java,File,Parsing,Int,Java.util.scanner,我这里有一个分为两部分的问题。所以我正在为一个赋值编写代码,它试图从文本文件中读取整数作为坐标。例如,我有一个名为test1的文本文件,读起来像:50 00 510 53 310 0。现在,这些整数应该代表坐标,这意味着50实际上转化为(5,0),(0,0),(5,10)等等 我试图使用扫描仪进入该文本文件,在该两位数整数中选择第一个数字并将其存储为“x”值,然后选择第二个数字并将其存储为“y”值,然后对其余数字重复冲洗 int nSheep = 0; while (sc.hasNextLi

我这里有一个分为两部分的问题。所以我正在为一个赋值编写代码,它试图从文本文件中读取整数作为坐标。例如,我有一个名为test1的文本文件,读起来像:50 00 510 53 310 0。现在,这些整数应该代表坐标,这意味着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);
} 
for(inti=0;i
这是我试图读入整数并将它们存储在变量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 + ") ");
xMin=xMax=sc.nextInt();
yMin=yMax=sc.nextInt();
//读取其余坐标
对于(int i=1;i xMax)
xMax=x;
if(yyMax)
yMax=y;
if(xxMax)
xMax=x;
if(yyMax)
yMax=y;
}
}
打印(“栅栏坐标:{(“+xMin+”,“+yMin+”)”);
系统输出打印(“+xMax+”、“+yMin+”);
系统输出打印(“+xMax+”、“+yMax+”);
System.out.println(“(“+xMin+”,“+yMax+”);

如果我让用户自己输入羊的数量和坐标,这是一个成功的代码。唯一的区别是我不需要用户输入,我只需要一个扫描仪读取文本文件,确定坐标,然后打印出来。如果这个冗长的问题有意义,有人能帮我吗?

cr在Java中使用文件实例引用文本文件

File text = new File("C:/temp/test1.txt");
Scanner sc = new Scanner(text);
在Java中创建扫描仪实例以读取文件

File text = new File("C:/temp/test1.txt");
Scanner sc = new Scanner(text);
所以

File text=新文件(“C:/temp/test1.txt”);
扫描仪sc=新扫描仪(文本);
int-xMin,xMax;
xMin=xMax=sc.nextInt();
int-yMin,yMax
yMin=yMax=sc.nextInt();
while(sc.hasNextLine()){
int x=sc.nextInt();
int y=sc.nextInt();
如果(xxMax){xMax=x;}
如果(y>yMax){yMax=y;}
}
System.out.println(“栅栏坐标:”
系统输出打印(“{(“+xMin+”,“+yMin+”);
系统输出打印(“+xMax+”、“+yMin+”);
系统输出打印(“+xMax+”、“+yMax+”);
系统输出打印(“+xMin+”,“+yMax+”);

提示:将文件中的整数读取为字符串,使用正则表达式将其拆分并分配给
min
max
变量
,而(sc.hasnetint){
将不会编译say
231
(23,1)
(2,31)
(甚至
(231,0)
(0231)
(231)的含义是什么?输入格式不清楚我得到了错误:“没有这样的元素异常”知道这是什么吗?然后,在一行中只有不到2个整数,你认为你可以扩展它吗?你的确切意思是什么?你的文件看起来像这样:12 23(下一行)23 78(下一行)80← 只有一个或更少的数字文件有6个数字,有没有办法跳过空白?