我被要求“编写一个静态方法,给定一个String作为输入参数,将返回另一个表示输入字符串的String,并删除所有元音。”
我不确定这是什么意思。我在下面写了这个。我需要改变答案吗?感谢
public static void main(String[] args) {
String s = "Hello there";
String s1 = s.replaceAll("[AaEeIiOoUu]", "");
System.out.print(s1);
}
答案 0 :(得分:2)
检查来自@NicksTyagi和其他人的静态方法的答案。但是,我想指出您可以像这样优化正则表达式:(?i)[aeiouy]
。
(?i)
是一个内联标志,表示其后面的正则表达式部分是 i nsensitive。通过使用这个标志,没有必要把字母大写。
如果不将y
视为您所用语言的元音,请随意从正则表达式中移除public static String removeVowels(String input) {
return input.replaceAll("(?i)[aeiouy]", "");
}
。
{{1}}
答案 1 :(得分:1)
您复制并粘贴到问题中的静态方法称为main。它有点特殊,它需要string[]
作为参数,它总是返回void。为了完成您的作业,您需要编写另一个静态方法。
首先,您需要为其命名。
static myFunction() {
}
接下来,给它一个返回(输出)类型。您的任务是返回String
。
static String myfunction() {
}
然后,您需要让接受String
类型的参数(输入)。
static String myFunction(String input) {
}
几乎最后,我们将逻辑添加到将输入转换为输出。
static String myFunction(String input) {
input = input.replaceAll("[AaEeIiOoUu]", "");
}
最后,我们需要返回输出。
static String myFunction(String input) {
String output = input.replaceAll("[AaEeIiOoUu]", "");
return output;
}
中提琴。你完成了!在研究面向对象的编程之前,您不需要了解更多关于static关键字的知识。正确的定义是静态方法绑定到类,而非静态方法绑定到类的实例。这是一个可怕的例子。
希望能帮助你记住!
答案 2 :(得分:0)
课程必须如下:
public class Demo {
public static String replaceVowel(String input)
{
input = input.replaceAll("[AaEeIiOoUu]", "");
return input;
}
public static void main(String[] args) {
String output = Demo.replaceVowel("Hello World");
System.out.println(output);
}
}
答案 3 :(得分:0)
您只需要使用static关键字创建另一个方法。从main调用此方法。
public static void main(Strings args[]){
removeVowels("Hello World");
}
public static String removeVowels(String textWithVowels){
return textWithVowels.replaceAll("[AaEeIiOoUu]", "");
}