1
resposta

duvida em java

Escreva um programa que receba uma frase como entrada e exibe a mesma frase no formato hacker, ou seja, sendo substituídas as vogais por números ou caracteres similares. A = 4, E = 3, I = 1, O = 0, U = V. Exemplo: Entrada: Edson. Saída: 3ds0n

import java.util.Scanner;

public class Frasehacker { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);

    System.out.println("digite uma frase: ");
    String frase = scanner.nextLine();

    String frasehacker = frase.replace("E","3")
            .replace("D", "D")
            .replace("S","S")
            .replace("O", "0")
            .replace("N", "N");

    System.out.println("Frase no formato hacker: " + frasehacker);

    scanner.close();
}

}

entrada edson e saida 3ds0n correto

mas ta saindo assim entrada edson e saida edson nao aparece de forma hacker

1 resposta

No seu caso ele só vai mudar as maiúsculas. Se vc digitar EDSON tudo em maiúsculo deve funcionar. Para funcionar com as minúsculas, vai ter que colocar replaces para as letras minúsculas também ou transformar a frase em maiúsculas antes do replace, usando .toUpperCase().

    String frasehacker = frase.replace("E","3")
            .replace("D", "D")
            .replace("S","S")
            .replace("O", "0")
            .replace("N", "N")
            .replace("e", "3")
            .replace("d", "d")
            .replace("s","s")
            .replace("o", "0")
            .replace("n", "n");

Ou

    String frasehacker = frase.toUpperCase().replace("E","3")
            .replace("D", "D")
            .replace("S","S")
            .replace("O", "0")
            .replace("N", "N");
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.