超全模态模型 × Harness 升级,升级解锁 ArkClaw,最新支持 DeepSeek-V4 系列与 GLM-5.1
我来帮你搞定这个问题~你遇到的核心问题有两个:一是直接用printf输出Object类型元素时,编译器没法识别它的具体类型和内部数值属性;二是原来的toString方法没对小数做格式化处理。下面给你两种可行的解决方案,推荐第一种更省心的方式:
printf
Object
toString
这种方式最优雅,修改Loan和Circle的toString方法,在返回字符串时就把数值格式化为两位小数。这样不管是直接打印对象,还是从ArrayList里取出打印,都会自动输出符合要求的格式。
Loan
Circle
ArrayList
修改后的完整代码如下:
import java.util.ArrayList; import java.util.Scanner; class Loan { double loan; @Override public String toString() { // 用String.format把loan格式化为两位小数 return String.format("Loan: %.2f", loan); } } class Frame { String framename; @Override public String toString() { return "Frame: " + framename; } } class Circle { double radius; @Override public String toString() { // 同样把radius格式化为两位小数 return String.format("Circle: %.2f", radius); } } class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); Loan loan = new Loan(); Frame frame = new Frame(); Circle circle = new Circle(); loan.loan = input.nextDouble(); frame.framename = input.next(); circle.radius = input.nextDouble(); ArrayList<Object> mylist = new ArrayList<>(); mylist.add(loan); mylist.add(frame); mylist.add(circle); // 直接打印就会得到格式化后的结果 System.out.println(mylist.get(0)); System.out.println(mylist.get(1)); System.out.println(mylist.get(2)); } }
如果你不想修改toString方法,那得先把ArrayList里的Object强制转成对应的类,再取出内部的数值属性传给printf。示例代码如下:
// 替换Main类main方法中的打印部分 System.out.printf("Loan: %.2f%n", ((Loan) mylist.get(0)).loan); System.out.println(mylist.get(1)); // Frame直接打印即可 System.out.printf("Circle: %.2f%n", ((Circle) mylist.get(2)).radius);
你之前试的System.out.printf("%.2f",mylist.get(2))会报错或者无法正常格式化,因为mylist.get(2)返回的是Object类型,而printf的%.2f格式符需要接收double或float类型的参数。编译器不知道这个Object是Circle对象,也没法直接提取它的radius属性,所以必须先做类型转换,取出属性值再传入才行。
System.out.printf("%.2f",mylist.get(2))
mylist.get(2)
%.2f
double
float
radius
内容的提问来源于stack exchange,提问作者Dedicated User
超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起
模型再升级,30秒超长叙事, 模态参考扩容
模型自由,工具不限,最新支持 Deepseek-V4 系列、GLM-5.3 系列
超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列
大模型19元起,Al应用9.9元畅享,新人首购爆款尽享优惠