2014-12-28 186 views
-5
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 



} 

爲什麼,因爲他們在C++中改變dp值不會改變,我一直在使用它聲明之前全球主要利用static int[][] dp試過,

值數組的,爲什麼它不改變它的值不會改變

+0

它打印100.您是否正在使用不同的程序並向我們提供簡化版本? (這將解釋'拋出IOException')?如果是這樣,你需要發佈你使用的版本。 –

回答

0

您正在調用方法

update(100,dp[0]); 

所以的i的值是100,並且因此該方法改變所述陣列的第100元素的值。然後你檢查dp[0][0]的值。

+0

對不起我的錯誤 – user4392540

+0

請看更新的一個 – user4392540

+3

隨着你的更新,如果你在println語句的末尾添加缺少的分號,它會按預期編譯和運行:它打印100:http://ideone.com/VnPTt3 –

0

嘗試打印

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

您傳遞DP [0]到你的方法和通過索引是100,並且因此你結束了設置DP [0] [100]作爲我即100

嘗試調用更新方法:

update(0,dp[0]); 

但是,這不會有效果的更新方法要設置類似的值參數i,我們通過爲0

3

這是改變! 我測試了這個NetBeans IDE7.4並顯示結果...

+1

這並不能解答這個問題。要批評或要求作者澄清,在他們的帖子下留下評論 - 你總是可以評論你自己的帖子,一旦你有足夠的[聲譽](http://stackoverflow.com/help/whats-reputation),你會能夠[評論任何帖子](http://stackoverflow.com/help/privileges/comment)。 – mleko

+2

是的,但我的聲望是40,不能評論。 –

+1

@Masoud Hosseini現在是50歲。評論儘可能多的,你喜歡:) –

0

該值更新到100完美。我檢查了日食。檢查它是否正確。

相關問題