簡體   English   中英

ArrayList-從ArrayList中的對象存儲多個值

[英]ArrayList - Storing multiple values from objects in the ArrayList

我正在嘗試創建一個ArrayList來保存兩個與舒張壓和收縮壓以及服用日期相對應的整數值。 我想出了以下代碼來將數據保存在ArrayList但似乎無法打印出來。

當前讀數:

94 61

我希望讀數為:

94 61 2/12/2013

請有人幫忙。

public class Blood {

private int systolic;
private int diastolic;

private int num1;
private int num2;
private int num3;
private Day day;

public Blood(int systolic, int diastolic, Day day)
{
    this.systolic = systolic;
    this.diastolic = diastolic;
    this.day = new Day(num1, num2, num3);
}

public String toString()
{
    return String.format("%s %s", systolic,diastolic);
}


public class Day {
private int num1;
private int num2;
private int num3;

public Day(int num1, int num2, int num3)
{
    this.num1 = num1;
    this.num2= num2;
    this.num3 = num3;
}

public String toString()
{
    return String.format("%d%s%d%s%d",num1,"/", num2, "/", num3);
}

import java.sql.Date;
import java.util.ArrayList;

public class BloodTest {

public static void main(String[] args) {

    ArrayList<Blood>mary = new ArrayList<Blood>();
    mary.add(new Blood(94, 61, new Day(2,12,2013)));

    System.out.println(mary.get(0));
}
}

首先,您忘記在Blood對象中調用Day對象的toString()方法:

public class Blood {
    ...

    public String toString() {
        return String.format("%s %s", systolic,diastolic) + day.toString();
    }

    ...
}

另外,您必須更改Blood構造函數。 您已經傳遞了Day對象的實例,因此將其分配給day字段:

public Blood(int systolic, int diastolic, Day day) {
    this.systolic = systolic;
    this.diastolic = diastolic;
    this.day = day;
}

要將此打印輸出,您需要執行以下操作:

public static void main(String[] args) {

    ArrayList<Blood>mary = new ArrayList<Blood>();
    mary.add(new Blood(94, 61, new Day(2,12,2013)));

    System.out.println(mary.get(0).toString());
}

暫無
暫無

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

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