Programa que calcula quantidade de caracteres

3 respostas
R
Preciso calcular o tanto de caracteres de uma frase, separados por -.

Por exemplo: Java é difícil >>> saída: 4-1-7

E preciso mostrar a maior palavra dentre todas.

O que eu fiz:

import java.util.Scanner;

public class ContandoCaractere {

public static void main(String[] args) {

Scanner sc = new Scanner (<a href="http://System.in">System.in</a>);

String[] nomes = new String[2];

int maior = 0;

int indicepalavra=0;

int tamanho = nomes.length;

for (int i = 0; i < tamanho; i++) {

System.out.println("Digite o " + (i + 1) + º nome);

nomes[i] = sc.nextLine();
}
    for (int i = 0; i < tamanho; i++) {
        if (maior < nomes[i].length()) {
            maior = nomes[i].length();
            indicepalavra = i;
        }
    }
    System.out.println("O maior nome é: " +nomes[indicepalavra]);
}

}

3 Respostas

Y

Use o método split() e o replaceAll();

String frase = Java é dificil;

String frase_formatada = frase.replaceAll(" “, “-”);

int maior = 0;

String maiorPalavra;

String [] palavras = fase_formatada.split(”-");

for(int i = 0; i < palavras.lenght; i++){

int tamanho = palavras[i].lenght;

if(tamanho > maior){
maiorPalavra = palavras[i];

maior = tamanho;

}

system.out.println(maiorPalavra);

staroski

Utilize o split a aí obtenha a maior palavra a partir do array obtido.

Exemplo:

import java.util.Scanner;

public class ContandoCaractere {

    public static void main(String[] args) {
        ContandoCaractere programa = new ContandoCaractere();
        programa.executar();
    }

    public void executar() {
        Scanner scanner = new Scanner(System.in);

        System.out.println("Digite a frase:");
        String frase = scanner.nextLine();

        String[] palavras = frase.split("\\s");
        String maiorPalavra = obterMaiorPalavra(palavras);

        System.out.println("A maior palavra é: " + maiorPalavra);
    }

    private String obterMaiorPalavra(String[] palavras) {
        String maiorPalavra = palavras[0];
        for (int i = 1; i < palavras.length; i++) {
            if (palavras[i].length() > maiorPalavra.length()) {
                maiorPalavra = palavras[i];
            }
        }
        return maiorPalavra;
    }
}
R

E como eu faço para aumentar a quantidade de frases recebidas nesse programa? Linha por linha. Pq eu só consigo digitar uma…

Criado 14 de novembro de 2018
Ultima resposta 14 de nov. de 2018
Respostas 3
Participantes 3