簡體   English   中英

如何比較 class 對象的值

[英]How to compare the values of objects of a class

我制作了一個內部類及其構造函數。 在 function func() 中,我將電池和時間的值傳遞給用戶使用掃描儀輸入的構造函數,並且這個 function 被多次調用。我想比較用戶使用 class 輸入的不同電池值對象,然后打印它們。 假設 func 被調用了 4 次,我每次都傳遞不同的電池值。 我想檢查它們之間的差異是否大於 1.. 如果是,則打印該電池值。 例如:第一次通話 - (98,2) 第二次通話 - (97,4) 第三次通話 (95,9) 第四次通話 (94,11)。 這里第二次和第三次通話的電池電量之間的差異大於 1,所以我必須打印第一個,即第二次通話的電池電量及其相應的時間。我該如何編碼?

public class Out {

Scanner sc = new Scanner(System.in)

class in {
    int x, int y;

    in(int x, int y) {
        this.x = x;
        this.y = y;
    }
}

in obj = new in(0, 0); //call this obj inside func

public void func() {
    int battery = sc.nextInt();
    int time = sc.nextInt();
    in inner = new in(battery, time);


}

我不能使用 arraylist,因為 func() 將被調用一千多次,以避免 memory 浪費。 我制作了一個值為 0,0 的 object obj。 我會將obj的電池值與in的電池值進行比較(比較電池值的差異是否大於1,如果是則打印之前的電池值)然后將obj的電池值更新為電池的當前值(通過用戶)..

創建一個 function 以根據您要測量的內容比較兩個對象。

public boolean InEqual(in obj1, in obj2)
{
    if(obj1.x - obj2.x > 1)
      return true;
    else
      return false;
}

或者您可以返回值之間的差異

public int Difference(in obj1, in obj2)
{
    if(obj1 != null && obj2 != null)
      return obj1.x - obvj2.x;
    else
      return 0;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM