如何从最终类调用静态方法到主类?

时间:2017-10-15 13:35:50

标签: java static final

该程序将字符串转换为“rövarspråket”的字符串 - 所有辅音都是重复的,并在它们之间插入“o”。元音,数字和其他字符保持不变。 “rovar”因此成为“rorovovaror”。

public final class rovar
{

    public static String lower_consonants = "bcdfhjklmnpqrstvwxz";
    public static String upper_consonants = "BCFGHJKLMNPQRSTVWXZ";

    public static String enrov(String normal)
    {
        if (normal == null)
            return null;
        StringBuilder builder = new StringBuilder();

        for(char c : normal.toCharArray())
        if (lower_consonants.contains(String.valueOf(c)))
            builder.append(c + "o" + c);
        else if (upper_consonants.contains(String.valueOf(c)))
            builder.append(c + "O" + c) ;
        else
            builder.append(c);

        return builder.toString();
    }

    public static String derov(String rov)
    {
        if (rov == null)
            return null;

        for(char c : lower_consonants.toCharArray()) {
            String find = (String.valueOf(c) + "o" + String.valueOf(c));
            rov = rov.replace(find, String.valueOf(c));
        }

        for(char c : upper_consonants.toCharArray()){
            String find = (String.valueOf(c) + "O" + String.valueOf(c));
            rov = rov.replace(find, String.valueOf(c));
        }
        return rov;
    }
}

现在,我想编译这个程序。因此,我创建了一个主类,并尝试创建该类的新实例,然后调用这两个方法。

public class RovarMain {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        rovar r = new rovar();
        r.enrov();
        r.derov();

    }

}

问题是我不确定为这些方法调用采用哪个参数。因为上面两行代码显示错误: rova​​r类型中的方法enrov(String)不适用于参数()

1 个答案:

答案 0 :(得分:0)

由于它们都是静态方法,因此可以在没有对象的情况下调用它们。这两种方法都采用参数。 main方法的代码示例:

array_filter()