Olá, pessoal…
Estou fazendo um programa em Java que calcula o delta da equação do 2º grau.
Quando eu uso o tipo de dado double fica dando erro. Alguém sabe dizer por quê?
Porém quando eu uso int o programa roda beleza.
importjava.util.Scanner;publicclassApagar{publicstaticvoidmain(Stringargs[]){Scannerinput=newScanner(System.in);inta;intb;intc;intdelta;System.out.println("Escreva o valor de A:");a=input.nextInt();System.out.println("Escreva o valor de B:");b=input.nextInt();System.out.println("Escreva o valor de C:");c=input.nextInt();delta=((b*b)-(4*a*c));System.out.printf("O valor do %d \n eh: ",delta);}}
Não seria pq vc declarou todas as variaveis numericas como int!!!..
Capitura os numeros com int…
tenta mudar o tipo das variaveis, capturar double (ou float) ou ae quizer capturar int não esqueca de converte-lo ( acho que o nome técnioco é “cast” ou algo parecido)
…
J
javaxpython
Esse exemplo é com int. Esse roda…
Mas quando eu mudo para double ele não compila.
DZR
a=input.nextInt();
Vc tentou usar o a = input.nextDouble() ?
cleyvison
Mas, é justamente por isso, o Jav não converte as variaveis “automaticamente” ou vc faz isso ou não usa o que não declarou…
DZR
Então mude a declaração das suas variáveis. E passe-as para double.
Uma outra coisa que eu usava na faculdade era multiplicar o vamor Int recebido por 1.0
pedruhenrik
doubledelta;delta=input.nextDouble();System.out.printf("O valor do %f eh: ",delta);//%fnolugarde%d
att,
J
javaxpython
Eu mudei gente, mesmo assim não roda...
Foi isso que eu disse antes.
Eu mando o código de como é eu eu tô fazendo com double e não roda...
importjava.util.Scanner;publicclassApagar{publicstaticvoidmain(Stringargs[]){Scannerinput=newScanner(System.in);doublea;doubleb;doublec;doubledelta;System.out.println("Escreva o valor de A:");a=input.nextDouble();System.out.println("Escreva o valor de B:");b=input.nextDouble();System.out.println("Escreva o valor de C:");c=input.nextDouble();delta=((b*b)-(4*a*c));System.out.printf("O valor do %d \n eh: ",delta);}}
DZR
Poste o erro, por favor.
pedruhenrik
pedruhenrik:
doubledelta;delta=input.nextDouble();[b]System.out.printf("O valor do %f eh: ",delta);//%fnolugarde%d[/b]
att,
J
javaxpython
Ahhhh…
Era isso que o Pedro falou // %f no lugar de %d
Obrigado a todos…
[]'s
ViniGodoy
Seria bom também especificar alguma precisão, ou corre o risco dele exibir em notação científica. Por exemplo, para 2 casas depois da vírgula:
System.out.printf("O valor do %.2f eh: ",delta);
J
javaxpython
Galera, foi resolvido meu problema já.
Obrigado!
I
iisalynch
Boa noite, preciso resolver uma equação do segundo grau a partir de :