Не может найти, что символ al hacer Делает В то время как comparando ООН Caracter

Ошибка (ошибка: не может найти символ),

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.

0
задан 21.12.2019, 01:11
2 ответа

Во-первых 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, а ломает цикл.


1 примитивных Данных в Java

2
ответ дан 21.12.2019, 12:13

Ошибка:

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
0
ответ дан 21.12.2019, 12:13

Теги

Похожие вопросы