2016-02-27 4 views
-3

Я пытаюсь преобразовать один элемент из массива в верхний регистр, но получаю сообщение об ошибке «не могу найти символ». Если я не использую «toUpperCase», он работает отлично, и символ «предложение» тоже работает.Java --- toUpperCase - не удается найти символ

Вот та часть, которая не работает:

if (i % 3==0){ 
    string=string+". "+toUpperCase(array[i].substring(0,1)); 
} 

вот весь метод, который работает, если я не ставил toUpperCase:

public static String sentences(String[] array){ 
     String string=""; 
     for (int i=0;i<array.length;i++){ 
      if (i % 3==0){ 
       string=string+". "+toUpperCase(array[i].substring(0,1)); 
      } 
      else if (i % 3!=0){ 
       sentence=sentence+" "+array[i]; 
      } 
     } 

Он просто находит третье слово в предложении, и я хочу сделать первая буква этого третьего слова в верхний регистр.

+2

Вы должны 'массив [я] .substring (0,1) .toUppercase() ' –

ответ

1

toUpperCase() - метод класса String. Так что:

array[i].substring(0,1).toUpperCase() 

Но в вашем случае, вы можете использовать:

private String capitalize(final String line) { 
    return Character.toUpperCase(line.charAt(0)) + line.substring(1); 
} 

Смотрите эту должность для получения дополнительной информации: How to capitalize the first character of each word in a string

+0

Большое вам спасибо, Derlin! – programmer3000

+0

добро пожаловать! – Derlin

1

toUpperCase(), работающих, как показано ниже:

String str = "test"; 
    System.out.println(str.toUpperCase()); 

Выход: TEST

0

Вы не можете сделать что-то вроде

string+". "+toUpperCase() 

Вы могли бы, если вы определяете метод в этом классе, но я думаю, что вы имеете в виду, чтобы сделать это:

string.toUpperCase() 
Смежные вопросы