//clase Suma para sumar numeros octales package suma; public class Suma { //atributos private String num1, num2; //constructores public Suma(String num1,String num2){ this.num1=num1; this.num2=num2; } public Suma() {} //metodos public int aNumero(char digito){ int dig = 0; switch(digito) { case '0': dig=0; break; case '1': dig=1; break; case '2': dig=2; break; case '3': dig=3; break; case '4': dig=4; break; case '5': dig=5; break; case '6': dig=6; break; case '7': dig=7; break; } return dig; } public char aLetra(int digito){ char dig=' '; switch(digito) { case 0: dig='0'; break; case 1: dig='1'; break; case 2: dig='2'; break; case 3: dig='3'; break; case 4: dig='4'; break; case 5: dig='5'; break; case 6: dig='6';
break; case 7: dig='7'; break; } return dig; } public String Sumar(){ int c=0,cantidad=0,i,j,k;//acarreo String resultado=""; //solucion de la suma //para igualar el tama単o de las cantidades colcocamos 0 a //la derecha if (num1.length()>num2.length()){ cantidad=num1.length()-num2.length(); for(i=0;i<cantidad;i++) num2='0'+num2; } if (num2.length()>num1.length()){ cantidad=num2.length()-num1.length(); for(i=0;i<cantidad;i++) num1='0'+num1; } char let=' '; int sol,tamano; tamano=num1.length(); for (j=tamano-1;j>=0;j--){ sol=aNumero(num1.charAt(j))+aNumero(num2.charAt(j))+c; if(sol>=8){ c=1; sol=sol-8; } else c=0; let=aLetra(sol); resultado=let+resultado; } if (c==1){ resultado='1'+resultado; } String solu=resultado; return solu; } } //La clase principal es package suma; import java.util.Scanner;
public class Main { public Main() { } public static void main(String[] args) { Scanner teclado=new Scanner(System.in); System.out.println("numero 1 "); String numero1 = teclado.nextLine(); System.out.println("numero 2 "); String numero2 = teclado.nextLine(); Suma sol=new Suma(numero1,numero2); System.out.println("El resultado es "+ sol.Sumar());