数组的值不会改变

时间:2014-12-28 12:02:14

标签: java

public static void update(int i , int[] dp){
           dp[0]=i;

}

public static void main(String args[] ) throws IOException {

int[][] dp = new int[10][100001];

update(100,dp[0]);
System.out.println(dp[0][0]) // Showing 0 instead of 100



}

为什么dp的值不会随着c ++的变化而改变,我尝试过使用static int[][] dp在main之前声明它是全局的,

为什么它是不改变它的价值。

4 个答案:

答案 0 :(得分:3)

这正在改变! 我通过NetBeans IDE7.4对此进行了测试,并显示了结果...

答案 1 :(得分:0)

您正在调用方法

update(100,dp[0]);

因此i的值为100,因此该方法更改了数组的第100个元素的值。然后检查dp[0][0]

的值

答案 2 :(得分:0)

尝试打印

System.out.println(dp[0][100]);

你将dp [0]传递给你的方法并将index作为100传递,因此你最终设置dp [0] [100]为i,即100。

尝试将更新方法调用为:

update(0,dp[0]);

但是这不会像在update方法中那样有效,你设置的值类似于我们传递的参数i为0。

答案 3 :(得分:0)

该值完美更新为100。我检查了日食。检查一下。