我是java的新手,所以如果这是一个“愚蠢”的问题,请耐心等待。有没有办法格式化类似于printf(“%d”,a)的return语句?到目前为止,这是我的代码片段。
public static int numUnique(int a, int b, int c) {
if (a==b && a==c) {
System.out.println("No unique numbers.");
} else if (a==b && a!=c) {
System.out.printf("%d%d", a, c);
} else if (a==c && a!=b) {
System.out.printf("%d%d", c, b);
} else if (b==c && b!=a) {
System.out.printf("%d%d", b, a);
} else {
System.out.printf("%d%d%d", a, b, c);
}
}
}
我知道在那里需要一个返回语句以获得正确的语法,我想在我的代码中使用类似于“理论上”使用的printf的返回。谢谢!
杰森
答案 0 :(得分:5)
如果您正在使用返回String
的方法,则可以使用String.format
方法,该方法采用与System.out.printf
相同的参数。所以你的问题的代码看起来像这样。
请注意,我已经引入了一些空格来阻止整数一起运行,看起来像一个数字。
public static String numUnique(int a, int b, int c) {
if (a==b && a==c) {
return "No unique numbers.";
} else if (a==b && a!=c) {
return String.format("%d %d", a, c);
} else if (a==c && a!=b) {
return String.format("%d %d", c, b);
} else if (b==c && b!=a) {
return String.format("%d %d", b, a);
} else {
return String.format("%d %d %d", a, b, c);
}
}
答案 1 :(得分:1)
使用return
语句,您回馈数据。程序(或用户)如何处理该数据并不是该方法的关注点。
通过格式化操作,您可以表示数据。只要您拥有正确的数据,您就可以以任何您喜欢的方式表示它。
因此,严格地说,除非您想以另一个答案建议的方式使用String.format
,否则不可能这样做。