也许你想要重载方法呢?

时间:2016-01-25 18:09:55

标签: java

这是我的代码:

import java.text.*;

public class template
{
    static void triangle (int height) throws IOException
    {
        for (int i = 0 ; i <= height ; i++)
        {
            for (int k = 0 ; k < i ; k++)
            {
                System.out.print ("*");
            }
            System.out.println ("");
        }
    }

    public static void main (String str[]) throws IOException
    {
        BufferedReader stdin = new BufferedReader (new InputStreamReader (System.in));
        DecimalFormat df = new DecimalFormat ("#");

        double height;
        height = input (height);
        triangle (height);
    }
}

刚开始我想说我正在使用Ready to Program并且刚刚在9月份开始使用java。

其次,我想问为什么它会给我错误No applicable overload for the method named三角形was found in type模板。我想做的就是调用方法三角形,这样我就可以输出&#34; *&#34;。有时它会询问我是否需要三角形的重载方法。我不知道这意味着请帮助我,谢谢。我意识到灰色显示我已经打电话给#34;输入&#34;这很好我只需删除它,因为它在灰色区域之外并且看起来很混乱。

2 个答案:

答案 0 :(得分:2)

您已声明了double类型的变量,并且您正在调用一个带有int类型参数的函数。您应该更改input的声明,以便它还返回int

答案 1 :(得分:0)

import java.text.*;

public class template
{
    static void triangle (double height) throws IOException //here is your error
    {
        for (int i = 0 ; i <= height ; i++)
        {
            for (int k = 0 ; k < i ; k++)
            {
                System.out.print ("*");
            }
            System.out.println ("");
        }
    }

    public static void main (String str[]) throws IOException
    {
        BufferedReader stdin = new BufferedReader (new InputStreamReader (System.in));
        DecimalFormat df = new DecimalFormat ("#");

        double height = 0;
        height = input (height);
        triangle (height);
    }
}

试试这个并告诉我。你定义的三角形方法是将int作为param,你所调用的是double。那是造成麻烦的原因。我改变了你的代码。请检查一下。