[RESOLVIDO] Problemas com decimais - Java

Bom dia pessoal , sou iniciante
quero dividir 3 valores decimais em java
A/b/c. Alguem pode me ajudar
Porem esse valores decimais, nao sao valores fixo, como eu posso fazer ?
O progama é
.
.

float a, b,c;
  float result;
 
 System.out.println("quantos metros quadrados tem na caixa");
 a= ler.nextInt();
 
 System.out.println("insira o valor do lado menor em metros quadrados ");
 b= ler.nextInt();
 
 System.out.println("insira o valor  lado maior ");
 c= ler.nextInt();
 
 result= ( a/ b /c );

 System.out.println(" a quantidade de piso na vaixa ê " + result);

Faça a leitura dos dados utilizando o scanner:

Scanner ler = new Scanner(System.in);
float a = ler.nextFloat();
1 curtida

Tudo bom mano
Eu coloquei mas deu erro o progama anterior
É

package media;

import java.util.Scanner;

public class prog2 {
	
	public static void main(String[] args) {
		Scanner ler = new Scanner(System.in);
		double a, b, c;
		float result;
		
		System.out.println("quantos metros quadrados tem na caixa ");
		a = ler.nextInt();
		
		System.out.println("insira o valor do lado menor em metros quadrados ");
		b = ler.nextInt();
		
		System.out.println("insira o valor so lado maior ");
		c = ler.nextInt();
		
		result = (a / b / c); /// axho q estou errando aqui ///
		
		System.out.println("a quantidade de piso na vaixa é " + result);
	}
}

Quando ele vai fazer a divisao de um numero decimal menor q 1 ele da erro

Em vez de:

a = ler.nextInt();

Use:

a = Float.parseFloat(ler.nextLine());

O cara me desculpa pela paciência, eu vou ter que fazer isso pra a,b,c…
Pq eu fiz e deu erro

float a = ler.nextFloat();
float b = ler.nextFloat();
Float c = ler.nextFloat();
double result;

.
.
Result= a/b/c;

Ah sim, encontrei duas falhas:

  • Você estava obtendo um int e atribuindo num double (a = ler.nextInt();). Ao fazer assim, vc vai perder a precisão se informar algum número quebrado (0.1, 0.5, etc).

  • Na divisão, vc está fazendo o cálculo com variáveis double e atribuindo o resultado num float. Dessa forma não funcionará. Você deve mudar de float result; para double result;

O cara muito obrigado, Deus abençoe. deu certo kkkk valeu a paciencia

Uma pergunta se la em cima eu declaro double a,b, c;

Pq qua quando eu tenho q imprimir uma mensagem tem q ser
a=float.parseFloat…

Na verdade, o ideal nesse caso seria Double.parseDouble();

1 curtida