Что это означает, когда на статический метод нельзя ссылаться из статического контекста?

Я попытался запустить это в основном методе без статического, и это сработало, но это действительно не помогает мне. Как мне исправить это?

public class GV
    {
    public String getVowel(String n)
    {
    String[]vowels= { "a", "e", "i", "o", "u", "A", "E", "I", "O", "U"};
    for (int i=0; i< n.length()-1; i++)
    {
        for (int m=0; m< vowels.length -1; m++) 
        {
            if (n.substring(i, i+1). equals (vowels[m])) 
                return n.substring( i, i+1);
        }
    }
    {
         return n.substring(-1);

    }
  }
   public static void main( String[] args)
   {
     String n = "orange";
       System.out.println("The amount of vowels are" + getVowel(n));
    }
}

2 ответа

Решение

Это означает только то, что сказано: вы не можете называтьstatic метод из static метод. Один из подходов - просто объявить getVowel метод быть static:

public static String getVowel(String n) { . . . }

Это работает только в этом случае, потому что getVowel не использует никакой информации об экземпляре внутри. В общем, тем не менее, вам нужно создать экземпляр GV и вызвать метод как метод экземпляра:

public static void main( String[] args)
{
   String n = "orange";
   GV gv = new GV();
   System.out.println("The amount of vowels are" + gv.getVowel(n));
}

Нестатический метод - это метод экземпляра класса. Вы должны создать класс для его запуска. это действительно самые основы программирования...

вот правильный путь:

public class GV
{
public String getVowel(String n)
{
String[]vowels= { "a", "e", "i", "o", "u", "A", "E", "I", "O", "U"};
for (int i=0; i< n.length()-1; i++)
{
    for (int m=0; m< vowels.length -1; m++) 
    {
        if (n.substring(i, i+1). equals (vowels[m])) 
            return n.substring( i, i+1);
    }
}
{
     return n.substring(-1);

}
}
   public static void main( String[] args)
   {
 String n = "orange";
   System.out.println("The amount of vowels are" + new GV().getVowel(n));
}
}
Другие вопросы по тегам