For example, in a class there are ten variables each can change value by later input. And when one variable is changed, the other nine variables is also changed. How to set up such that the changed value will not come back to change the original one? Say, if 1st variable is input, 2nd variable is changed and 3nd variable is changed. etc. But the 2nd variable will not try to change 1st variable and 3rd variable will not try to change 2nd one, etc. When there are few variables, this can be done by
【在 s*********g 的大作中提到】 : 不是。 : var1 can be changed by input or var2; : var2 can be changed by input or var1. : 要求是当var1 changed by var2; var1不会返回来再update var2. : 如果变量很多, 怎么设置?
I don't see any other way around it - you simply have to remember which one triggered the chain, and use it as the "anchor".
3nd
【在 s*********g 的大作中提到】 : For example, in a class there are ten variables each can change value by : later input. And when one variable is changed, the other nine variables is : also changed. : How to set up such that the changed value will not come back to change the : original one? Say, if 1st variable is input, 2nd variable is changed and 3nd : variable is changed. etc. But the 2nd variable will not try to change 1st : variable and 3rd variable will not try to change 2nd one, etc. : When there are few variables, this can be done by
Just use one level of indirection. e.g. have a class called Variable class Variable { boolean changed; Object value; public boolean setValue(Object value) { if(changed) { return false; else { this.value = value; return true; } } } Then declare 10 instances.
3nd
【在 s*********g 的大作中提到】 : For example, in a class there are ten variables each can change value by : later input. And when one variable is changed, the other nine variables is : also changed. : How to set up such that the changed value will not come back to change the : original one? Say, if 1st variable is input, 2nd variable is changed and 3nd : variable is changed. etc. But the 2nd variable will not try to change 1st : variable and 3rd variable will not try to change 2nd one, etc. : When there are few variables, this can be done by