[英]The method printf(String, Object…) in the type PrintStream is not applicable for the arguments (String, void)
It gives me an error message saying 它给我一个错误信息说
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
returns void
. militaryTime
返回void
。 void
represents nothing and can't be printed. void
代表什么,不能打印。
Perhaps you want militaryTime
to return a string representing the military time. 也许您希望
militaryTime
返回一个表示军事时间的字符串。 In that case try defining the method as follows: 在这种情况下,请尝试按以下方式定义方法:
public String militaryTime() {
return String.format("%02d:%02d:%02d", getHour(), getMinute(), getSecond());
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.