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.
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.
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. 😊 🚀
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
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);
}
}
}