Прошу прощения, если мои вопросы трудно понять, английский не является моим основным языком, надеюсь, вы, ребята, сможете терпеть мой английский. Я пишу код, который читает текст, введенный пользователем, и преобразует определенное слово во все верхние регистры, например nice становится NICE. Слово «хорошо» может быть сочетанием нижнего и верхнего регистров, таких как Nice NIce NICe NiCE NicE NiCe nICe nicE и т. Д., И в конце этих «хороших» будет преобразовано в NICE. Поскольку существует много сочетаний «приятного» слова, я устанавливаю свой исходный текст ввода для всего нижнего регистра и заменяю «nice» на NICE. Проблема, с которой я сталкиваюсь сейчас, это не знаю, как распечатать только конечный результат, который является хорошим миром, преобразованным в NICE. программа, которую я пишу сейчас, выполняет преобразование 1 на 1., что очень длинное, если у меня есть много «хороших» слов в моем строковом вводе. Есть ли лучший способ сделать это? Большое спасибо. Вот мой кодЗамените слово nice на верхний регистр NICE java
import java.util.Scanner;
public class Substitute
{
public static void main (String[] args)
{
String search = "nice";
String sub = "NICE";
String result = "";
int i;
Scanner input = new Scanner(System.in);
String yourSentence;
System.out.print("enter your text here: ");
yourSentence = input.nextLine();
String actualWord = yourSentence.toLowerCase();
do
{
System.out.println(actualWord);
i = actualWord.indexOf(search);
if (i != -1)
{
result = actualWord.substring(0,i);
result = result + sub + actualWord.substring(i + search.length());
actualWord = result;
}
} while (i != -1);
}
}
и это
my output --------------------Configuration: <Default>--------------------
enter your text here: be nice to your families and be NicE to your friends too. Also be NICe to everyone in this world
be nice to your families and be nice to your friends too. also be nice to everyone in this world
be NICE to your families and be nice to your friends too. also be nice to everyone in this world
be NICE to your families and be NICE to your friends too. also be nice to everyone in this world
be NICE to your families and be NICE to your friends too. also be NICE to everyone in this world
Written by blabla
Process completed.
'Я не знаю, как распечатать только конечный результат', переместите строку' System.out.println (actualWord); 'под цикле' do/while'. – Tom
@Tom. Это работает так, как я хотел. Большое спасибо, Том. У меня есть вопрос, хотя, нормально ли перемещать ** System.out.println (actualWord); ** ниже цикла ** do/while? ** Я думал, что для ** do/while ** loop я всегда должен напишите инструкции в начале цикла «do», а затем «while» условно. – NumbNuts
Тело цикла (код между '{' и '}') может содержать все, что должно быть выполнено 'x' раз (или как долго некоторое условие является« истинным »). Если вы хотите что-то напечатать несколько раз, напишите это в тело цикла. Если вы этого не хотите, тогда не пишите там: D. Нет правил, которые говорят, что для цикла требуется 'System.out.println'. – Tom