[英]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.