2
respostas

[Dúvida] Caractere Especial

Boa noite,

Estou praticando condicional If...Else. Pois bem, fiz um programa que pergunte o preço de 3 produtos e no fim informe para comprar o mais barato. Bem, minha dúvida é como solucionar o caractere especial que vem no console, vide abaixo. Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas

Olá Cleice,

Esse problema com caracteres especiais são comuns em programas Java que são executados no console. Uma solução para isso é definir o encoding correto para o console.

No caso do Eclipse, você pode clicar com o botão direito na classe que está executando, selecionar "Run As" e depois "Run Configurations". Na janela que abrir, selecione a aba "Common" e em "Encoding" escolha a opção "UTF-8".

Além disso, uma possível solução é definir explicitamente a codificação do console Java para UTF-8. Você pode fazer isso adicionando a seguinte linha de código no início do seu arquivo Java:

System.setProperty("console.encoding", "UTF-8");

Dessa forma, o console Java será configurado para usar a codificação UTF-8, que suporta caracteres acentuados.

Espero ter ajudado a esclarecer sua dúvida.

Uma ótima semana e bons estudos. 😊 🚀

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Oi Akemi, boa tarde

A primeira opção do "Run As" > "Run Configurations" eu já havia achado na internet é solucionou. Porém tenho que fazer para todo arquivo que vou compilar.

A segunda opção eu coloquei no meu código, vide abaixo. Mas não surtiu efeito ! Estou enviando o código para você compilar e vê se realmente funciona com setProperty Insira aqui a descrição dessa imagem para ajudar na acessibilidade

import java.util.Scanner;

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

        System.setProperty("console.encoding", "UTF-8");

        System.out.println("Quanto custa o produto 1?");
        double produto1 = scan.nextDouble();

        System.out.println("Quanto custa o produto 2?");
        double produto2 = scan.nextDouble();

        System.out.println("Quanto custa o produto 3?");
        double produto3 = scan.nextDouble();

        if (produto1 < produto2 && produto1 < produto3) {
            System.out.println("Você deve comprar o produto 1 porque custa " + produto1);
        } else if (produto2 < produto1 && produto2 < produto3) {
            System.out.println("Você deve comprar o produto 2 porque custa " + produto2);
        }else {
            System.out.println("Você deve comprar o produto 3 porque custa " + produto3);
        }
    }
}