该程序将字符串转换为“rövarspråket”并将其从“rövarspråket”中转换出来 - 所有辅音都被复制,并在它们之间插入“o”。元音,数字和其他字符保持原样。 “罗瓦尔”因此变成了“罗罗沃瓦尔”。如何从最终课程调用主类的静态方法?
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();
}
}
问题是我不知道为那些方法调用采取哪个参数。因为代码显示错误的上述两行:在类型rovar方法enrov(字符串)是不适用的参数()
题外话注:请学习Java命名约定 – rkosegi
你应该调用一个公共静态方法只是与类名,链接是关于C#静态方法,但我认为Java是一样。 https://stackoverflow.com/questions/35568120/having-trouble-calling-a-public-method-in-a-static-method/35568241#35568241 – Jaycee