O programa a seguir estranhamente sempre escreve “A distancia e: 1.0”. Identifique onde está o defeito.
import java.util.Scanner;
public class Distancia {
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
double x1, y1, x2, y2, distancia;
System.out.println("Entre com as coordenadas x e y dos pontos nesta ordem:");
x1 = teclado.nextFloat();
y1 = teclado.nextFloat();
x2 = teclado.nextFloat();
y2 = teclado.nextFloat();
distancia = Math.pow(Math.pow(x2-x1, 2) + Math.pow(y2-y1, 2), 1/2);
System.out.println("A distância é: " + distancia); } }
Soluções para a tarefa
Respondido por
3
Resposta:
Por conta que o cálculo 1/2 é efetuado dom inteiros, e como em Java uma operação com inteiros retorna um valor inteiro esse cálculo não dará 0,5 e sim 0, fazendo com que todo resultado seja elevado a 0, retornando 1.0 (Com tipo real já que a variável distancia é do tipo double ) sempre.
Explicação:
Perguntas interessantes
Português,
6 meses atrás
Matemática,
6 meses atrás
Matemática,
9 meses atrás
História,
9 meses atrás
História,
1 ano atrás
Biologia,
1 ano atrás