当前位置: 首页 > 知识库问答 >
问题:

PrintStream类型中的printf(String, Object...)方法不适用于参数(String, val)

相俊迈
2023-03-14

它给我一条错误消息,说

PrintStream类型中的printf(String, Object...)方法不适用于参数(String, val)

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());
        }
    }

共有1个答案

花玄裳
2023-03-14

军事时间返回无用无用不代表任何内容,无法打印。

也许您希望军事时间返回一个表示军事时间的字符串。在这种情况下,请尝试将方法定义如下:

public String militaryTime() {
    return String.format("%02d:%02d:%02d", getHour(), getMinute(), getSecond());
}
 类似资料:
  • 在系统上获取此错误的任意数字的表。出来println(数字“x”i“=”,数字*i); (在类型PrintStream不适用于参数(String, int))

  • 问题内容: 好的,所以我是Java的新手,我正在尝试制作我的第一个程序,但收到此消息后,似乎无法修复: 这是代码: 问题答案: 此类错误消息表示您为方法提供的参数类型与预期的参数类型之间存在差异。在这种情况下,它要求一个(Object [])和一个数组,但您要给它一个String和两个Integer。您首先需要将它们打包为数组。

  • 在系统上获取此错误的任意数字的表。出来println(数字“x”i“=”,数字*i); (在类型PrintStream不适用于参数(String, int))

  • 问题内容: 我有一个奇怪的编译问题。我无法解决此问题。同样的代码在另一个项目中也能正常工作 我收到错误消息 但是,当我这样做时,不会出现任何错误。但是我没想到这一点。 我不确定这是否是Eclipse问题。感谢您的帮助。 问题答案: 由于是通用接口,因此您应该像这样调用:

  • 我试图在一个测试中模拟。我在网上找到了一些人们也这么做的例子。 一个例子来自sping-data-elasticsearch,另一个来自一些教程。 这是我自己的例子。 不幸的是,我看到了一些警告。以下是我得到的: 网络客户。RequestHeaderUrispec是原始类型。对泛型类型WebClient的引用。RequestHeaderUrispec应该参数化 当我更改代码并向添加通配符时,我会收

  • 我对java“I get this error”不熟悉,找不到适合getText(String)方法JTextComponent的方法。getText(int,int)不适用(实际参数列表和形式参数列表长度不同)方法JTextComponent。getText()不适用 (Alt Enter显示提示)“当我试图运行我的程序时。请帮助。我做错了什么?