初学者:静态方法

时间:2014-01-29 20:16:20

标签: java

我被要求“编写一个静态方法,给定一个String作为输入参数,将返回另一个表示输入字符串的String,并删除所有元音。”

我不确定这是什么意思。我在下面写了这个。我需要改变答案吗?感谢

public static void main(String[] args) {
    String s = "Hello there";
    String s1 = s.replaceAll("[AaEeIiOoUu]", "");
    System.out.print(s1);
}

4 个答案:

答案 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关键字的知识。正确的定义是静态方法绑定到类,而非静态方法绑定到类的实例。这是一个可怕的例子。

  • 一个静态方法可以接受一个Person并且将一个人的所有武器都砍掉。
  • 我是一个人。我可以使用我自己的非静态方法来移除我的所有手臂。

希望能帮助你记住!

答案 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]", "");
}