Carina 0 Posted December 5, 2020 Report Share Posted December 5, 2020 (edited) Programa em java que lê um texto inserido pelo utilizador e conta o número de letras. (Utilizar ciclo while) Exemplo de um programa que fiz que conta palavras : Scanner teclado = new Scanner(System.in); String palavra = ""; int contapalavras = 0; System.out.println("Escreva um texto, usa stop para terminar "); do { palavra = teclado.next(); palavra.toUpperCase(); contapalavras++; //if } while (!palavra.equals("STOP")); contapalavras --; System.out.println("li" + contapalavras + "palavras"); teclado.close(); } Edited December 5, 2020 by Carina Link to post Share on other sites
Rui Carlos 359 Posted December 6, 2020 Report Share Posted December 6, 2020 Qual é exactamente a dúvida? Com base nesse programa, essencialmente precisas de substituir o contapalavras++ por algo que some o número de letras de palavra (e o contapalavras-- também precisa de uma ligeira modificação). Rui Carlos Gonçalves Link to post Share on other sites
thoga31 569 Posted December 7, 2020 Report Share Posted December 7, 2020 (edited) Antes de mais, gostaria de fazer um apontamento. O método toUpperCase() não modifica a própria instância de uma String. Este método devolve uma nova String com as letras da original capitalizadas. O resultado deve ser armazenado. Posto isto, algumas considerações: O método next() da classe Scanner devolve uma String, pelo que podemos aplicar directamente o método toUpperCase(): palavra = teclado.next().toUpperCase(); A classe String disponibiliza o método split(), o qual recebe uma expressão regular e devolve um array com as strings separadas segundo a regex. Exemplo: String[] partes = "Batatas:com:azeite".split(":"); // irá produzir o array {"Batatas", "com", "azeite"} Tendo em conta o ponto anterior, e sabendo que um array tem a propriedade length, podemos determinar directamente o tamanho do array sem o guardar em memória: int n = "Batatas:com:azeite".split(":").length; // irá devolver 3 Estes são os ingredientes para a solução ao vosso problema, @Carina e @Lucas. Se for um exercício académico, confiram se podem usar o método split(). Cumprimentos. Edited December 7, 2020 by thoga31 Gafes ortográficas 1 Report Knowledge is free! Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now