Java: Calcular área y perímetro de triángulo rectángulo

Estoy empezando a estudiar Java, un ejercicio:

Se da la base y la altura de un triángulo rectángulo y te calcula el perímetro y el área. Si se escribe algo que no sea un número dará error, pero aún no he llegado al tema en el que me expliquen como arreglarlo.

package calcula;
import java.util.Scanner;
public class Main {
   static int area(int base,int altura){
      return (base*altura)/2;
   }
   static int perimetro(int cateto1, int cateto2){
      int hipotenusa = (int) Math.sqrt((cateto1*cateto1)+(cateto2*cateto2));
      return cateto1+cateto2+hipotenusa;
   }
   public static void main(String args[]){
      Scanner sc = new Scanner(System.in);
      System.out.println("Escribe la base: ");
      int base = sc.nextInt();
      System.out.println("Escribe la altura: ");
      int altura = sc.nextInt();	

      System.out.println("Area: "+area(base,altura));
      System.out.println("Perimetro: "+perimetro(base,altura));
   }
}

Comentarios (8)

import java.util.Scanner;

public class CalculaPerimetro {
	//Attributes of the class.
	private static int base, altura;
	private double area, perimetro;
	
	//Methods of the class.
		private void dameValoresIniciales (){ 
			Scanner scanner = new Scanner(System.in);
		    System.out.println("Escribe la base: ");
		    base = scanner.nextInt();
		    System.out.println("Escribe la altura: ");
		    altura = scanner.nextInt();
		}

		private void calcularArea(int base, int altura){
			this.area = (base*altura)/2;
			return;
		}
		  
		private void calcularPerimetro(int cateto1, int cateto2){
		      double hipotenusa = Math.sqrt((cateto1*cateto1)+(cateto2*cateto2));
		      this.perimetro = cateto1+cateto2+hipotenusa;
		      return;
		}
		  
		private void mostarResultados() {
		    System.out.println("Area = "+this.area);
		    System.out.println("Perimetro: "+this.perimetro);
		}
		
		public static void main(String[] args) {
			// TODO Auto-generated method stub.
			CalculaPerimetro triangulo = new CalculaPerimetro();
			triangulo.dameValoresIniciales();
			triangulo.calcularArea(base, altura);
			triangulo.calcularPerimetro(base, altura);
			triangulo.mostarResultados();
		}
	}

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.