java - 在列中显示来自arraylist的数据java
问题描述
我想知道我应该如何从列中的数组列表中获取元素(彼此下方),如下所示:
BMI: Length: gewicht:
1.69 30 24.25
2.58 55 28.25
这是我的代码:
@Override
public String toString() {
return String.format("%-17.1f%-15.2f%.2f",lengte, gewicht,bmi);
}
public static void main(String[]args){
ArrayList<BMICalculator> bmilist = new ArrayList<>();
JOptionPane.showMessageDialog(null, String.format("length:%-9sgewicht:%-8sbmi:","","") );
do {
double lengte = getLength("Geef de lengte in Meters:");
double gewicht = getGewicht("Geef het gewicht in Kg:");
BMICalculator bmi = new BMICalculator(lengte, gewicht);
bmi.setBmi(bmi.calculateBMI());
bmilist.add(bmi);
JOptionPane.showMessageDialog(null, String.format("%s", bmi.toString()));
} while(getUserAnswer() == 'J');
JOptionPane.showMessageDialog(null, String.format("%s", bmilist.toString()));
System.out.println(bmilist);
}
这段代码给了我这个:长度:gewicht:Bmi:1,7 80,00 28,01,长度:gewicht:bmi:1,6 55,00 22,03
我不想要那个长度,gewicht 和 bmi 一直在重复......帮助!
解决方案
String.format
您的标题和数据在该掩码中合并在一起。这就是标题不断重复的原因。您需要将它们分开。因此String.format("length:%-9sgewicht:%-8sbmi:","","")
,在循环之前使用一次打印标题。并针对每一行数据使用String.format("%-17.1f%-15.2f%.2f",lengte, gewicht,bmi)
。这样我觉得你会没事的。
但是,如果您想要的是将整个文本放入同一个窗格中,它将是这样的:
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
ArrayList<BMICalculator> bmilist = new ArrayList<>();
sb.append(String.format("length:%-9sgewicht:%-8sbmi:\n", "", ""));
do {
double lengte = getLength("Geef de lengte in Meters:");
double gewicht = getGewicht("Geef het gewicht in Kg:");
BMICalculator bmi = new BMICalculator(lengte, gewicht);
bmi.setBmi(bmi.calculateBMI());
bmilist.add(bmi);
} while (getUserAnswer() == 'J');
for (BMICalculator item : bmilist) {
sb.append( item.toString() );
}
JOptionPane.showMessageDialog(null, sb.toString());
System.out.println(bmilist);
}
推荐阅读
- regex - 正则表达式 - 匹配句子避免括号
- python - Python - PyQt5 - 使用 SQL 自动填充 QTableWidget
- here-api - 流量 API - 边界框标签内的流量含义?
- reactjs - 更新 ag-grid 中的行数据后,组顺序和组折叠状态丢失
- python - PyCharm 警告 dict 生成的属性的未解析属性
- python - 基数 64(GNU/Linux 与 python)
- ios - 如何本地化/国际化不同语言的数据库?- 斯威夫特
- r - R - 使用两列减去前几行
- css - CSS Flex,列数测试:第一项未对齐,顶部,与其同行。不知道为什么
- amazon-web-services - 如何将 URL 部分映射到 AWS API 网关中的参数?