Preciso de uma ajuda no java sou iniciante

4 respostas
J

//1)=>Calcular a área e o perímetro de uma circunferência.
//O raio deve ser informado pelo usuário.
import java.util.Scanner; // programa utiliza Scanner

public class CalcArea

{

public static void main( String args[] )
{

// cria Scanner para obter entrada a partir da janela de comando

Scanner input = new Scanner( System.in );
float raio; // raio a ser inserido pelo usuário
double area; // area a ser inserido pelo usuário
double perimetro;
double pi; // produto dodo PI

System.out.print(  "Digite o raio: " );
raio= input.nextInt(); //  o primeiro inteiro
pi=3.14;
area = pi * raio * raio;
perimetro= 2 * pi * raio;
System.out.printf( "Product is %d\n",area ); // Saida do resultado.
System.out.printf( "Product is %d\n",perimetro ); // Saida do resultado.	
}

}
Este da dando um erro no compilar, me da um força ai pessoal.

4 Respostas

robson_costa

no metodo para imprimir o resultado onde esta %d troca para %f dai vc pode passar um argumento primitivo float ou double, do jeito que está o metodo espera receber um int e vc ta passando um double.

douglas_vidotto

Bom, há algumas coisas que você pode ajeitar no seu programa.

  1. Você está usando o método nextInt() para ler um valor float. nextInt() serve para ler inteiros.

  2. Use o raio como double também, assim você faz a atribuição de valores double para double, ao invés de float para double.

Mas o erro de compilação em si está no System.out.printf
Você está usando “%d”, que serve para imprimir variáveis inteiras. Área e perímetro são variáveis double.

J

Valeu pela força, vou corrigir os erros.

douglas_vidotto

Para ler o raio voce pode usar nextFloat(), ou, caso mudando raio para double, use nextDouble().

Abraços!

Criado 4 de outubro de 2008
Ultima resposta 4 de out. de 2008
Respostas 4
Participantes 3