![](/img/trans.png)
[英]The method printf(String, Object[]) in the type PrintStream is not applicable for the arguments (...)
[英]The method printf(String, Object…) in the type PrintStream is not applicable for the arguments (String, void)
它给我一个错误信息说
类型PrintStream的方法printf(String,Object ...)不适用于参数(String,void)
public class project {
public static void main(String[] args){
duo duoObject = new duo();
duo duoObject1 = new duo(5);
duo duoObject2 = new duo(2,6);
duo duoObject3 = new duo(3,7,5);
System.out.printf("%s\n", duoObject.militaryTime());
System.out.printf("%s\n", duoObject1.militaryTime());
System.out.printf("%s\n", duoObject2.militaryTime());
System.out.printf("%s\n", duoObject3.militaryTime());
}
}
public class duo {
private int hour;
private int minute;
private int second;
public duo(){
}
public duo(int h){
setHour(h);
}
public duo(int h, int m){
setHour(h);
setHour(m);
}
public duo(int h, int m, int s){
setHour(h);
setHour(m);
setHour(s);
}
public void setHour(int h){
hour = ((h>=0 && h<24)? h : 0);
}
public void setMinute(int h){
minute = ((h>=0 && h<60)? h : 0);
}
public void setSecond(int h){
second = ((h>=0 && h<60)? h : 0);
}
public int getHour(){
return hour;
}
public int getMinute(){
return minute;
}
public int getSecond(){
return second;
}
public void militaryTime(){
System.out.printf("%02d:%02d:%02d", getHour(), getMinute(), getSecond());
}
}
militaryTime
返回void
。 void
代表什么,不能打印。
也许您希望militaryTime
返回一个表示军事时间的字符串。 在这种情况下,请尝试按以下方式定义方法:
public String militaryTime() {
return String.format("%02d:%02d:%02d", getHour(), getMinute(), getSecond());
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.