【发布时间】:2012-06-29 13:33:40
【问题描述】:
我的问题是我无法更新对象数组的值...
代码是:
public class GlobalVariable {
public int noOfSms = 0;
public CheckingClass object = new CheckingClass ();
public static void main(String[] args) {
GlobalVariable call = new GlobalVariable ();
call.driver();
}
private void driver() {
for(int i = 0 ; i < 3 ; i++){
object = CheckingFun();
// System.out.println("The No Of Sms"+noOfSms);
System.out.println("Array Value"+object.array[noOfSms] + " The number value"+object.number);
}
}
private CheckingClass CheckingFun() {
System.out.println("The No Of Sms "+noOfSms + "\n");
object.array[noOfSms] = noOfSms;
object.number = noOfSms;
noOfSms = noOfSms + 1;
return object;
}
另一个类是:
public class CheckingClass {
public int number ;
public int[] array = new int [5];
}
这里的对象是另一个类的对象。我的问题出在这一行
object.array[noOfSms] = noOfSms;
输出如下
The No Of Sms 0
Array Value0 The number value0
The No Of Sms 1
Array Value0 The number value1
The No Of Sms 2
Array Value0 The number value2
我不明白为什么数组的值没有更新。当作为对象的属性的 number 的值被更新时。
但我想要的输出是:
Array Value0 The number value0
The No Of Sms 1
Array Value1 The number value1
The No Of Sms 2
Array Value2 The number value2
【问题讨论】:
-
我建议发布一些可编译的代码。
-
您确实意识到每次使用
[noOfSms]更新数组中的不同插槽,对吧? -
@Thomas 是的,我希望每次进入该函数时都更新数组的索引
-
在你给我一个不好的问题之前给我-1....请回答它,以便我在对我的声誉造成损害后得到一些有用的东西!!!!
-
发布一些可编译的代码。您发布了不可编译的代码,并且输出不是来自您发布的代码。您希望我们如何发现问题所在?你也没有说你期望什么输出。只有你得到的。
标签: java global-object