对于我的一个作业,我需要以一定的间隔格式格式化一行字符串和整数。所有字符串和整数都是通过get方法访问的对象的数据字段。
getId
返回一个六位整数,getName
返回一个带有名字和姓氏的字符串,getAge
返回一个整数,getGPA
返回一个双精度数,最多3位小数地方。
我的导师告诉我使用DecimalFormat类,我已经尝试了几个但是我无法弄清楚如何因为String,我继续收到错误Cannot format given Object as a Number
。
我不确定如何将String作为DecimalFormat的一部分合并,因为他给我们的所有例子都是将0放在数字前面或格式化货币格式的数字。如何重写我的DecimalFormat以匹配下面的示例输出?
这是打印出行的代码和错误。
System.out.println(format.format(temp.getID() + " " +temp.getName() + " " + temp.getAge() + " " + temp.getGPA()));
答案 0 :(得分:0)
尝试对每个变量使用format.format(temp.getID())...
,你想格式化如下:
System.out.println(format.format(temp.getID()) + " " +temp.getName() + " " + format.format(temp.getAge()) + " " + format.format(temp.getGPA()));
没有形成所有变量。