Como somar variaveis double? [RESOLVIDO]

7 respostas
Irani

Como faço para resolver isso, esta aparentemente tudo certo porem quando insiro valores quebrado, por exemplo 1,5
mais 1,5, não soma e retorna um erro.

/**teste ralizado para futuro programa de notas*/


import java.util.Scanner;
public class Testfload

{ /**metodo principal  inicia a execução do aplicativo java*/
	
	public static void main (String args [])
	
	{ /**cria Scanner para obter entrada a partir da janela comando*/
		
		Scanner input = new Scanner (System.in);
		
		double number1; /**primeiro numero a somar*/
	    double number2; /**segundo numero a somar*/
       
	    double Sum; /**soma de number1 e number2*/
	    	    
	System.out.print("entre com a primeira nota");
	number1 = input.nextDouble();
	
	System.out.print("entre com a segunda nota");
	number2 = input.nextDouble();
	
	Sum = (number1 + number2);
	
	System.out.printf("Sum is %d\n",Sum);
	
	
	}/**fim do metodo principal*/
	
}/**fim da classe*/

ERRO:

Sum is Exception in thread main java.util.IllegalFormatConversionException: d != java.lang.Double

at java.util.Formatter$FormatSpecifier.failConversion(Unknown Source)

at java.util.Formatter$FormatSpecifier.printInteger(Unknown Source)

at java.util.Formatter$FormatSpecifier.print(Unknown Source)

at java.util.Formatter.format(Unknown Source)

at java.io.PrintStream.format(Unknown Source)

at java.io.PrintStream.printf(Unknown Source)

at Testfload.main(Testfload.java:29)

7 Respostas

S

O %d é pra inteiro. Pra ponto flutuante é %f.
http://www.java2s.com/Tutorial/Java/0120__Development/printftocommandlinesummary.htm

edmarr

Schuenemann:
O %d é pra inteiro. Pra ponto flutuante é %f.
http://www.java2s.com/Tutorial/Java/0120__Development/printftocommandlinesummary.htm

Aproveitando a resposta do amigo .
de

System.out.printf("Sum is %d\n",Sum);

para

System.out.printf("Sum is %f\n",Sum);

ou

System.out.println("Sum is \n " + Sum);

Bom Estudo .

D

pode por assim tb System.out.printf("Sum is \n" + Sum);

K

Será q vc não tem q digitar 1.5 ao invés de 1,5?

edmarr

Caro colega leia o post e a Exeption que ocorreu e qual a linha de erro ficou bem claro q era erro de formatação do printf , e nao da formatação da variavel double .

K

Caro colega leia o post e a Exeption que ocorreu e qual a linha de erro ficou bem claro q era erro de formatação do printf , e nao da formatação da variavel double .

É verdade, me desculpe!

Irani

Schuenemann:
O %d é pra inteiro. Pra ponto flutuante é %f.
http://www.java2s.com/Tutorial/Java/0120__Development/printftocommandlinesummary.htm

Obrigado!

consegui resolver.

Criado 4 de setembro de 2009
Ultima resposta 4 de set. de 2009
Respostas 7
Participantes 5