Sumar multiples ángulos con Java

Hola, hoy proponemos un ejercicio de suma de ángulos sexagesimales en java, para ello primero indicamos al usuario cuantos ángulos quiere sumar, después introducimos los grados minutos y segundos en una matriz.
En este caso el usuario introdujo dos ángulos a sumar:

35º43′50″
12º36′35″

Una vez hecho esto sumamos las columnas y obtenemos:
sumas=el sumatorio de la columna de los segundos(85″)
sumam=el sumatorio de la columna de los minutos(79′)
sumag=el sumatorio de la columna de los grados(47º)

Por último normalizamos los segundos y minutos si son mayores que 60.
Quedando como segundos resultantes el resto entre los segundos y 60 y añadimos a los minutos el cociente de dividir los segundos entre 60.
Lo mismo hacemos con los minutos, normalizando si estos pasan de 60 entonces añadimos a los grados el cociente entre minutos y 60, el nuevo valor de minutos será el resto entre los minutos y 60.

package aplicacion1;

import java.util.Scanner;

/**
 *
 * @author Javi
 */
public class sumarAngulos {

    /**
     * @param args the command line arguments
     */
    
    
    public static void main(String[] args) {
        // TODO code application logic here
        Scanner miteclado = new Scanner(System.in);
        System.out.println(" ");      
        System.out.println("Cuantos angulos quieres sumar?");
        int num=miteclado.nextInt();
        int matriz[][];
        matriz =new int[num][3];
        for(int i=0;i<matriz.length;i++){
            for(int j=0;j<matriz[i].length;j++){
                if(j==0){
                    System.out.println("Dime los grados para el angulo "+(i+1)); 
                    matriz[i][j]=miteclado.nextInt();
                }
                if(j==1){
                    System.out.println("Dime los minutos para el angulo "+(i+1)); 
                    matriz[i][j]=miteclado.nextInt();
                }
                if(j==2){
                    System.out.println("Dime los segundos para el angulo "+(i+1)); 
                    matriz[i][j]=miteclado.nextInt();
                }
            }
        }
        int sumag=0;
        int sumam=0;
        int sumas=0;
        for(int j=0;j<3;j++){
            for(int i=0;i<matriz.length;i++){
                if(j==0){
                   sumag=sumag+matriz[i][j]; 
                }
                if(j==1){
                    sumam=sumam+matriz[i][j]; 
                }
                if(j==2){
                    sumas=sumas+matriz[i][j]; 
                }
                       
            }
        }
         
        if(sumas>60){
            
            sumam=sumam+(sumas/60);
            sumas=sumas%60;
        }
        if(sumam>60){
            sumag=sumag+(sumam/60);
            sumam=sumam%60;
        }
        
        System.out.println("La suma es "+sumag+"º "+sumam+"' "+sumas+"\""); 
    
    }
    
}

La salida sería la siguiente:

Cuantos angulos quieres sumar?
2
Dime los grados para el angulo 1
35
Dime los minutos para el angulo 1
43
Dime los segundos para el angulo 1
50
Dime los grados para el angulo 2
12
Dime los minutos para el angulo 2
36
Dime los segundos para el angulo 2
35
La suma es 48º 20′ 25″

Espero que les haya gustado 😉

Deja una respuesta

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

DorniSoft Inc.