我正在使用文本文件中的数字,也正在使用变量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
答案 0 :(得分:0)
问题是您已经通过三个System.out.println()
调用读取了下一个值之后才运行nextInt()
语句。这意味着对a[val2]
的以下访问将指向下一个数组元素,而不是您在当前循环迭代中更改的数组元素。
在阅读下一行之前,您需要输出行,因此a[val2]
仍然是您刚刚更改的数组元素。