2016-05-23 2 views
-3
public class learningJava 
{ 
    public static String last4(String s) 
    { 
     String str = "something"; 
     //int length = str.length(); 
     String substr = str.substring(str.length() - 4); 
     if (str.length() < 4) 
     { 
      return str; 
     } 
     return str.substring(str.length() - 4); 
    } 

} 
+1

и в чем вопрос, основанный на этом коде? –

+0

Я предполагаю, что он вызывает этот метод (в коде не показан), и он не передает строку. –

+0

извините, ребята, забыли написать главное ... Да, компилятор возвращает ошибку: пустое поле параметра. Почему это так? Он не говорит о синтаксических ошибках ... – JayZ

ответ

0

Ваша функция требует параметра String s. Вероятно, вы получаете эту ошибку, потому что вы используете эту функцию где-то без добавления параметра.

Если вы хотите использовать эту функцию, вы должны использовать такой код:

String y; 

String x = last4(String y); 

На самом деле вам не нужно использовать, что ваша функция не требует каких-либо параметров, так что вы можете удалить строку s и использовать вашу функцию.

public class learningJava 
{ 
    public static String last4() 
    { 
     String str = "something"; 
     //int length = str.length(); 
     String substr = str.substring(str.length() - 4); 
     if (str.length() < 4) 
     { 
      return str; 
     } 
     return str.substring(str.length() - 4); 
    } 

} 

и вы можете использовать его как подобное

String y; 
y = last4(); 

Или, если вы хотите использовать другую строку, то «что-то» в вашей функции, вы можете изменить его так:

public class learningJava 
{ 
    public static String last4(String y) 
    { 

     //int length = y.length(); 
     String substr = y.substring(y.length() - 4); 
     if (y.length() < 4) 
     { 
      return y; 
     } 
     return y.substring(y.length() - 4); 
    } 

} 

, и вы можете вызвать эту функцию, используя параметр как мой первый пример.

+0

Большое спасибо за такой глубокий ответ. – JayZ

+0

Я рад, если он решил вашу проблему и спасибо за ваш ответ. – ReadyFreddy

0

Вы не использовали параметр s, переданный в метод last4. Кроме того, имя класса должно начинаться с прописной буквы. Таким образом, это должно быть LearningJava.

Я думаю, что вы хотите что-то вроде этого:

public class LearningJava { 
    public static String last4(String s) { 
     if(s.length() < 4) { 
      return s; 
     } 
     String subs = s.substring(s.length() - 4); 
     return subs; 
    } 

    public static void main(String args[]) { 

     System.out.println(LearningJava.last4("something")); 
    } 
} 

Обратите внимание, что вы хотите выполнить, если (s.length() < 4) часть перед использованием метода подстроки. В противном случае вы получите сообщение об ошибке.

+0

Спасибо, Sameer получил его. – JayZ

Смежные вопросы