1. package excepcion3;
//||
import java.util.Scanner;
public class Main {
public Main() {
}
static void rango(String numero)throws ExcepcionIntervalo{
for (int k=0;k<numero.length();k++){
if(numero.charAt(k)!='0' && numero.charAt(k)!='1'){
throw new ExcepcionIntervalo("Números no binarios o contiene caractéres
alfabéticos");
}
}
}
public static void main(String[] args) {
boolean sw1=true, sw2=true;
String str1 = null,str2 = null;
Scanner teclado=new Scanner(System.in);
System.out.println("Escriba un numero binario ");
try {
str1=teclado.next();
rango(str1);
}
catch(ExcepcionIntervalo ex) {
2. String respuesta=ex.getMessage();
sw1=false;
}
if (sw1)
System.out.println("Escriba otro numero binario ");
try {
str2=teclado.next();
rango(str2);
}
catch(ExcepcionIntervalo ex) {
String respuesta=ex.getMessage();
System.out.println("El error es "+respuesta);
sw2=false;
}
if (sw2) {
Resta s=new Resta();
int c=str1.length()-str2.length();
for(int b=0;b<c;b++)
str2='0'+str2;
System.out.println("El resultado de la suma es " +
s.Sumar(str1,s.complementoaldos(s.complementoaluno(str2,str1.length()))));}
}
}
//clase Suma para sumar numeros de cualquier base
package excepcion3;
3. public class Resta extends Suma {
public Resta() {}
public String complementoaluno(String n,int tamano) {
String salida="";
for (int h=0;h<tamano;h++) {
if (n.charAt(h)=='0')
salida=salida +'1';
if (n.charAt(h)=='1')
salida=salida +'0';
}
return salida;
}
public String complementoaldos(String n) {
return Sumar(n,"1");
}
public String restar(String n1, String n2) {
return Sumar(n1,complementoaldos(complementoaluno(n2,n1.length())));
}
}
//clase Suma para sumar numeros de cualquier base
package excepcion3;
public class Suma {
4. public Suma() {}
//metodos
public int aNumero(char digito){
int dig = 0;
switch(digito) {
case '0': dig=0;
break;
case '1': dig=1;
break;
}
return dig;
}
public char aLetra(int digito){
char dig=' ';
switch(digito) {
case 0: dig='0';
break;
case 1: dig='1';
break;
}
return dig;
}
public String Sumar(String num1, String num2){
int c=0,cantidad=0,i,j;//acarreo
String resultado=""; //solucion de la suma
//para igualar el tamaño de las cantidades colcocamos 0 a la derecha
6. package excepcion3;
public class ExcepcionIntervalo extends Exception {
public ExcepcionIntervalo(String msg) {
super(msg);
}
public ExcepcionIntervalo() {
}
}