Números com quantidade indenterminda

4 respostas
java
M

Fazer um programa que leia uma quantidade indeterminada de raios de um círculo. Para cada raio lido, calcular sua área e perímetro. Considere PI = 3.14, e as saídas devem ser sempre arredondas para duas casas decimais. Considere que o raio é positivo e maior que zero. O último valor do raio, que não deverá gerar saída porque é o critério de parada, deve ser igual a -1 (um negativo).

Dicas
Entrada
4.5
9.9
-1

Saída
63.59 28.26
307.75 62.17

4 Respostas

M

import java.util.Scanner;

public class main{

public static void main(String[] args){

Scanner leia = new Scanner(<a href="http://System.in">System.in</a>);

float raio, pi, area, per;

pi = (float)3.14;
do{
		
		raio = leia.nextFloat();
		
		area = pi * raio * raio;
		per = 2 * pi * raio;
		
		System.out.printf("%.2f", area);
		System.out.print(" ");
		System.out.printf("%.2f", per);
	
	}while(raio != -1);		
}

}

M

Isso é o q eu fiz, mas quando eu digito uma entrada 4.5 já sai o resultado, eu tinha q digitar o 4.5, 9.9 e -1 parar o programa. Alguém pode me ajudar.

TerraSkilll

Você precisa adicionar uma verificação antes de fazer a conta. Se o raio for -1, você não faz a conta. Algo assim:

do{
  raio = leia.nextFloat();
  if (raio != -1){ // se o raio for diferente de -1, faz a conta
    area = pi * raio * raio;
    per = 2 * pi * raio;
		
    System.out.printf("%.2f", area);
    System.out.print(" ");
    System.out.printf("%.2f", per);
  }	
}while(raio != -1);

Abraço.

M

consegui fazer de outro jeito!
import java.util.Scanner;

public class main{

public static void main(String[] args){

Scanner leia = new Scanner(<a href="http://System.in">System.in</a>);

double raio, pi, area, per;

pi = (float)3.14;
raio = leia.nextFloat();
	area = pi * raio * raio;
	per = 2 * pi * raio;
	
	while(raio != -1){
		System.out.printf("%.2f %.2f\n", area, per);
		
		raio = leia.nextFloat();
		area = pi * raio * raio;
		per = 2 * pi * raio;
	}
}

}

Criado 9 de agosto de 2018
Ultima resposta 11 de ago. de 2018
Respostas 4
Participantes 2