Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从文件中读取变量值?_Java_Arrays_File_Int - Fatal编程技术网

Java 如何从文件中读取变量值?

Java 如何从文件中读取变量值?,java,arrays,file,int,Java,Arrays,File,Int,如何使用Scanner读取.txt文件,第一个值变为int x,第二个值变为int y,第三个值变为int x并继续。。 并进行验证。 我这样编写代码,但它不会读取所有值: Scanner kb = new Scanner(f); while(kb.hasNextInt()) { k[n] = new Medida(); tmp = kb.nextInt(); if(tmp >= 0 && tmp <= 100)

如何使用Scanner读取.txt文件,第一个值变为int x,第二个值变为int y,第三个值变为int x并继续。。 并进行验证。 我这样编写代码,但它不会读取所有值:

Scanner kb = new Scanner(f);
while(kb.hasNextInt())
    {
        k[n] = new Medida();
        tmp = kb.nextInt();
        if(tmp >= 0 && tmp <= 100)
        k[n].hum = tmp;
        tmp1 = kb.nextInt();
        if(tmp1 >= -10 && tmp1 <= 40)
        k[n].temp = tmp1;
        n++;
        if(n == 31) break;                                                                                           
    }
Scanner kb=新的扫描仪(f);
while(kb.hasNextInt())
{
k[n]=新的Medida();
tmp=kb.nextInt();
如果(tmp>=0&&tmp=-10&&tmp1 int x
  • 1->int y
  • 12->int x
  • 3->int y
  • 13->int x
  • 14->int y
  • 11->int x
  • 将文件转换为列表(Java 7):


    “不读取所有值”的确切含义是什么?到底缺少了哪些值?多少个值?第一个?最后一个?介于两者之间?我想超过一半。在所有位置上……我都没有学会如何使用列表。还有什么我可以做到的吗?@Max我认为他的文件不包含“->int”,他只是展示了他希望如何分配int。@Jurgen可能是,但概念保持不变,每行运行并检查
    i%2
    Yes->只是一个参考。@Maxim现在我明白了。我可以用我当时的方式来做,但只需使用:if(i%2==0)。谢谢你的帮助!
    List<String> lines = Files.readAllLines(Paths.get("file.txt"), StandardCharsets.UTF_8);
    
        final String SPLIT = "-> int ";
    
        List<String> lines = Files.readAllLines(Paths.get("C:\\test.txt"), StandardCharsets.UTF_8);
    
        int x = 0,y = 0;
    
        int temp;
    
        for(int i=0; i<lines.size(); i++){
    
            temp = Integer.parseInt(lines.get(i).split(SPLIT)[0].trim());
            // in case id line contains integer only:
            // temp = Integer.parseInt(lines.get(i).trim());
    
            if(i % 2 == 0){
                x += temp;
            }
            else{
                y += temp;
            }
        }
    
        System.out.println(x);
        System.out.println(y);