将值从文本文件分配给数组?

时间:2018-11-12 17:29:21

标签: java

我正在使用文本文件中的数字,也正在使用变量val2作为数字数组。我正在尝试将变量val3分配为要分配给数组变量val2的值,但是我一直在获取默认的0值。我该如何解决?

This is the contents of the text file

public static void main(String[] args)throws Exception{
    java.io.File myfile;

    String mypath;
    mypath = "/Users/hayleysegan/Downloads";
    myfile = new java.io.File(mypath + "/studynotes.txt");
    Scanner arraytext = new Scanner(myfile);
    int val1,val2,val3;
    val1 = arraytext.nextInt();
    val2 = arraytext.nextInt();
    val3 = arraytext.nextInt();
    System.out.println("Money Value");
    int[]a = new int[11];
      while(val1 != -1){

        if(val1 == 1){
            a[val2] = a[val2]+val3;
        }else if (val1 == 2){
            a[val2] = a[val2]-val3;
            }
        val1 = arraytext.nextInt();
        val2 = arraytext.nextInt();
        val3 = arraytext.nextInt();

        System.out.println(val1 + "\t"+a[val2]);
        }

        }



        }

我的输出:

货币价值 0 0 0 0 0 0 0 0

1 个答案:

答案 0 :(得分:0)

问题是您已经通过三个System.out.println()调用读取了下一个值之后才运行nextInt()语句。这意味着对a[val2]的以下访问将指向下一个数组元素,而不是您在当前循环迭代中更改的数组元素。

在阅读下一行之前,您需要输出行,因此a[val2]仍然是您刚刚更改的数组元素。