André Salles Postado Agosto 14, 2018 Denunciar Share Postado Agosto 14, 2018 Boa noite pessoal, sou novo em java e estou com uma duvida. Estou desenvolvendo uma aplicação básica de desconto em porcentagem, porem na hora de digitar o valor, o java não aceita virgulas com separador. Sabem me dizer como tratar isso ? segue o código. package exercicios; import java.util.Scanner; public class ValoresDeCarros { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int ValorTabela; System.out.println("Digite o valor de tabela do carro:"); ValorTabela = scanner.nextInt(); int resultadoDesconto = (ValorTabela*20)/100; int resultadoPagamento = ValorTabela-resultadoDesconto; System.out.println("O valor do desconto será: R$" + resultadoDesconto); System.out.println("O valor e a ser pago é: R$" + resultadoPagamento); } } Obrigao ;) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Vlad Bezerra Postado Agosto 16, 2018 Denunciar Share Postado Agosto 16, 2018 (editado) Opa no caso é porque você está lendo como inteiro package exercicios; import java.util.Scanner; public class ValoresDeCarros { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); double valorTabela; System.out.println("Digite o valor de tabela do carro:"); valorTabela = scanner.nextDouble(); double resultadoDesconto = (valorTabela*20)/100; double resultadoPagamento = valorTabela-resultadoDesconto; System.out.println("O valor do desconto será: R$" + resultadoDesconto); System.out.println("O valor e a ser pago é: R$" + resultadoPagamento); } } Só que a leitura denpederá do Locale se estiver em português vai ler valores como 19567,34 se estiver em inglês usará o ponto 19567.34 package exercicios; import java.util.Scanner; import java.util.Locale; public class ValoresDeCarros { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); //Confugurando para ler com vírgula scanner.useLocale(new Locale("pt","BR")); double valorTabela; System.out.println("Digite o valor de tabela do carro:"); valorTabela = scanner.nextDouble(); double resultadoDesconto = (valorTabela*20)/100; double resultadoPagamento = valorTabela-resultadoDesconto; System.out.println("O valor do desconto será: R$" + resultadoDesconto); System.out.println("O valor e a ser pago é: R$" + resultadoPagamento); } } Se você quiser que os valores impressos também sejam no formato com vírgula pode usar um formatterhttp://www.guj.com.br/t/formatacao-de-valores-monetarios/227203/2 Editado Agosto 16, 2018 por Vlad Bezerra Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
André Salles
Boa noite pessoal, sou novo em java e estou com uma duvida.
Estou desenvolvendo uma aplicação básica de desconto em porcentagem, porem na hora de digitar o valor, o java não aceita virgulas com separador.
Sabem me dizer como tratar isso ?
segue o código.
package exercicios;
import java.util.Scanner;
public class ValoresDeCarros {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int ValorTabela;
System.out.println("Digite o valor de tabela do carro:");
ValorTabela = scanner.nextInt();
int resultadoDesconto = (ValorTabela*20)/100;
int resultadoPagamento = ValorTabela-resultadoDesconto;
System.out.println("O valor do desconto será: R$" + resultadoDesconto);
System.out.println("O valor e a ser pago é: R$" + resultadoPagamento);
}
}
Obrigao ;)
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.