Ошибка (ошибка: не может найти символ),
Al hacer do-while
comparando ООН "<" довод "против" equals()
: Слова локализатора El objetivo es que comiencen подставляют el carácter" <".
String texto = "Erase una vez el <lobo> y <caperucita>.";
Scanner linea = new Scanner(texto);
do{
String palabra = linea.next();
char caract = palabra.charAt(0);
}while(caract.equals("<"));
El programa debe buscar las palabras lobo y caperucita.
Во-первых char
, - примитивный тип информации 1 , из-за того же самого этот тип информации не содержит ningГєn mГ©todo, но ты можешь сравнивать с ==
, поэтому не возможно использовать .equals()
, другая opciГіn podrГ-схвати занимать Character
, который является классом Java, и этой, если он содержит mГ©todo, что ты хочешь использовать.
Character caract ;
Итак, такой который, поскольку имеешь ты cГіdigo, только entrarГЎ в первое слово и потом saldrГЎ цикла, так как estГЎs говоря, что повторился cГіdigo, всякий раз когда первого carГЎcter слова было один '<', уже в первом цикле это не выполняется и ломает цикл. ВЫШЕДШИЕ
String texto = "Erase una vez el <lobo> y <caperucita>.";
ArrayList<String> palabrasEncontradas = new ArrayList<>();
Scanner linea = new Scanner(texto);
char caract ;
do{
String palabra = linea.next();
caract = palabra.charAt(0);
if(caract == '<'){
palabrasEncontradas.add(palabra);
}
}while(linea.hasNext());
System.out.println(palabrasEncontradas);
:
[<lobo>, <caperucita>.]
CambiГ© немного ты cГіdigo, aГ±adГ - один ArrayList
из типа String
, чтобы сохранять соответствующие слова и asГ - мочь отображать их mГЎs вперед.
AgreguГ© [один 119], где берется слово и сохраняет в ArrayList
, если он состоит в том, что эта начинается с <
.
В while
, agreguГ© различное закрытие linea.hasNext()
, так как только devolverГЎ в do
, если он состоит в том, что lГ-nea он считает одну следующей lГ-nea, а ломает цикл.
Ошибка:
cannot find symbol: переменная caract
Показывает, что переменная, которую ты пробуешь использовать, не является определенной, если ты наблюдаешь переменную, определена внутри цикла, из-за того, что переменная не является расположенной напротив.
String texto = "Erase una vez el <lobo> y <caperucita>.";
Scanner linea = new Scanner(texto);
do{
...
...
}while(caract.equals("<"));
ты Должен объявлять ее снаружи того же самого, ademГЎs ты должен использовать mГ©todo hasNextLine()
, чтобы заканчивать цикл: Вышедшие
String texto = "Erase una vez el <lobo> y <caperucita>.";
Scanner linea = new Scanner(texto);
char caract;
do{
String palabra = linea.next();
caract = palabra.charAt(0);
if(caract == '<'){ //Busca caracter <
System.out.println(palabra); //Imprime palabra
}
}while(linea.hasNextLine());
:
<lobo>
<caperucita