我正在研究簡單的Java應用程序。應用程序應該能夠比較變量值。例如,在我的class A
中,有一個名爲alt_value
的變量。Java - 如何僅比較一個變量值與以前的值?
所以,這個alt_value
是從無人機獲得這個值(我設法從無人機獲得價值)。我需要做的就是將當前的alt_value
與之前的值進行比較。如果當前的alt_value
高於以前的值,則應顯示「正在上升!」或相反亦然。
這可怎麼辦?任何想法?謝謝。
我正在研究簡單的Java應用程序。應用程序應該能夠比較變量值。例如,在我的class A
中,有一個名爲alt_value
的變量。Java - 如何僅比較一個變量值與以前的值?
所以,這個alt_value
是從無人機獲得這個值(我設法從無人機獲得價值)。我需要做的就是將當前的alt_value
與之前的值進行比較。如果當前的alt_value
高於以前的值,則應顯示「正在上升!」或相反亦然。
這可怎麼辦?任何想法?謝謝。
在班級中維護兩個變量。一個用於新價值,另一個用於舊價值。每當你獲得新的價值時,將它與具有前值的變量進行比較。
沒必要。在獲得新價值之前儲存就應該足夠了,像我提議的那樣說什麼? – JavaHopper
使變量「alt_value
」私人並創建一個setter「setAlt_value(..)
」。在setter中比較alt_value
中的現有值和您在setAlt_value()
中獲取的新值。
您可以在設置新值時執行以下操作。
class Foo{
int alt_value;
String status;
//setter for the alt_value will be called to set new value
void setAltValue(int new_alt_value){
if(new_alt_value > alt_value){
status = "Going up";
}
this.alt_value = new_alt_value;
}
}
somtehing這樣?
public static void main(String[] args) {
String[] test = {"A", "B", "B", "C", "D", "E"};
String prev = "";
for (int i = 0; i < test.length; i++){
if (test[i].equals(prev)){
System.out.println("equals: " + prev);
}
prev = test[i];
}
}
或者是這樣的:
class A {
private int alt_value = 0;
public int getAlt_value() {
return alt_value;
}
public void setAlt_value(int alt_value) {
this.alt_value = alt_value;
}
public boolean compare(int value) {
boolean goingUp = value > alt_value;
alt_value = value;
return goingUp;
}
}
然後你卡恩電話:
A instance = new A();
if (instance.compare(4)) {
// show "Going Up"!
}
你需要有一個臨時變量來存儲一個值。這樣的事情應該適合你
prev_alt_value = alt_value;
alt_value = droneMethodCall();
if(alt_value > prev_alt_value)
System.out.println("Going Up!");
顯示你的代碼,你試圖做這個操作 –
你可以改變類A嗎?然後最簡單的解決方案將保存2個值在你的對象(活躍和舊)。否則,使用Observeables/ValueChangeListener – ceekay
提示:無需查看代碼;你可能會考慮這樣的問題:「當我想要比較兩個值時,我需要多少個變量,一個還是兩個?」 – GhostCat