Ajuda com programa basico

6 respostas
G

Ae galera, este programa ao meu ver está correto, mais na hora de rodar da erro, no final, na hora q vai aparecer a soma , o que pode ser?

import java.util.Scanner;
	public class exer2{
		public static void main(String args []){
			
		Scanner input = new Scanner (System.in);
		
		Double num1,num2,num3,soma;
		
		System.out.println("Digite o primeiro numero");
			num1 = input.nextDouble();
			System.out.println("Digite o segundo numero");
			num2 = input.nextDouble();
			System.out.println("Digite o terceiro numero");
			num3 = input.nextDouble();
			
			soma=(num1+num2+num3);
		
			System.out.printf("A soma dos 3 numeros é = %d",soma);
			System.out.printf("O produto dos 3 numeros é = %d",(num1*num2*num3));
			if (num1>num2&&num1>num3)
				System.out.printf("O maior numero é o %d ",num1);
			
		}
		
	}

6 Respostas

Luiz_Aguiar

Qual erro que dá? em que linha?

Por favor coloque os código sempre dentro das tas CODE, ai já fica tudo formatado certinho. :wink:

[]s

G

ae , foi malz, editei ja

o erro que da é esse

A soma dos 3 numeros é = 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 exer2.main(exer2.java:18)
manolimars
import java.util.Scanner;
	public class exer2{
		public static void main(String args []){

		Scanner input = new Scanner (System.in);

		Double num1,num2,num3,soma;
		//Declaração de uma variável auxiliar para descrobrir o maior
                Double aux=0.0;

		System.out.println("Digite o primeiro numero");
			num1 = input.nextDouble();
			System.out.println("Digite o segundo numero");
			num2 = input.nextDouble();
			System.out.println("Digite o terceiro numero");
			num3 = input.nextDouble();

			soma=(num1+num2+num3);

			//System.out.printf("A soma dos 3 numeros é = %d"+soma);
                        System.out.println("A soma dos 3 numeros é = "+soma);

			//System.out.printf("O produto dos 3 numeros é = %d",(num1*num2*num3));
			//Concatenação dos resultados com o sinal de + e troca de printf para println
                        System.out.println("O produto dos 3 numeros é = "+(num1*num2*num3));

			if (num1>=num2 && num1>=num3) aux = num1;
                        
                        else if(num2>=num1 && num2>=num3) aux = num2;
                        
                        else if(num3>=num1 && num3>=num2) aux = num3;
                        
                        System.out.println("O maior numero é o "+aux);

		}

}
luciano2

O formatador %d é utilizado para valores Integer e não valores Double.

G

e para diminuir as casas decimais?

ta saindo como 3.3600000000000003

queria 3.36 só

Vmaia

guners:
e para diminuir as casas decimais?

ta saindo como 3.3600000000000003

queria 3.36 só

public static void main(String[] args) {
		Double  d = Double.valueOf(14.36 * 789.7569 * 31.99 );
			
		System.out.printf(" d = %.2f "  ,  d );
	}
Criado 31 de maio de 2010
Ultima resposta 31 de mai. de 2010
Respostas 6
Participantes 5