fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6. import java.util.Scanner;
  7.  
  8. /**
  9.  *
  10.  * @author Thomas
  11.  */
  12. class CalculadoraBinaria {
  13.  
  14. static int binarioaDecimal(int binario) {
  15. int D;
  16. int factor = 1;
  17. int decimal = 0;
  18. while (binario > 0) {
  19. D = binario % 10;
  20. binario = binario / 10;
  21. decimal = decimal + factor * D;
  22. factor = factor * 2;
  23. }
  24. return decimal;
  25. }
  26.  
  27. static int decimalaBinario(int decimal) {
  28. int D;
  29. int factor = 1;
  30. int binario = 0;
  31. while (decimal > 0) {
  32. D = decimal % 2;
  33. decimal = decimal / 2;
  34. binario = binario + factor * D;
  35. factor = factor * 10;
  36. }
  37. return binario;
  38. }
  39.  
  40. public static void main(String[] args) {
  41. // TODO code application logic here
  42. int opcion, bin1, bin2, num1, num2, resul, resulbin;
  43. boolean salir = true;
  44. Scanner scan = new Scanner(System.in);
  45. while (salir == true) {
  46. System.out.println("Que desea hacer : \n 1)Sumar \n 2)Restar \n 3)Multiplicar \n 4)Dividir \n 5)Salir ");
  47. opcion = scan.nextInt();
  48. switch (opcion) {
  49. case 1:
  50. System.out.println("Ingrese el primer binario a sumar");
  51. bin1 = scan.nextInt();
  52. num1 = CalculadoraBinaria.binarioaDecimal(bin1);
  53. System.out.println("Ingrese el segundo binario a sumar");
  54. bin2 = scan.nextInt();
  55. num2 = CalculadoraBinaria.binarioaDecimal(bin2);
  56. resul = num1 + num2;
  57. resulbin = CalculadoraBinaria.decimalaBinario(resul);
  58. System.out.println("Resultado : "+ resulbin + "(" + resul + ")");
  59. break;
  60. case 2:
  61. System.out.println("Ingrese el primer binario a restar");
  62. bin1 = scan.nextInt();
  63. num1 = CalculadoraBinaria.binarioaDecimal(bin1);
  64. System.out.println("Ingrese el segundo binario a restar");
  65. bin2 = scan.nextInt();
  66. num2 = CalculadoraBinaria.binarioaDecimal(bin2);
  67. resul = num1 - num2;
  68. resulbin = CalculadoraBinaria.decimalaBinario(resul);
  69. System.out.println("Resultado : "+ resulbin + "(" + resul + ")");
  70. break;
  71. case 3:
  72. System.out.println("Ingrese el primer binario a multiplicar");
  73. bin1 = scan.nextInt();
  74. num1 = CalculadoraBinaria.binarioaDecimal(bin1);
  75. System.out.println("Ingrese el segundo binario a multiplicar");
  76. bin2 = scan.nextInt();
  77. num2 = CalculadoraBinaria.binarioaDecimal(bin2);
  78. resul = num1 * num2;
  79. resulbin = CalculadoraBinaria.decimalaBinario(resul);
  80. System.out.println("Resultado : "+ resulbin + "(" + resul + ")");
  81. break;
  82. case 4:
  83. System.out.println("Ingrese el primer binario a dividir");
  84. bin1 = scan.nextInt();
  85. num1 = CalculadoraBinaria.binarioaDecimal(bin1);
  86. System.out.println("Ingrese el segundo binario a dividir");
  87. bin2 = scan.nextInt();
  88. num2 = CalculadoraBinaria.binarioaDecimal(bin2);
  89. resul = num1 / num2;
  90. resulbin = CalculadoraBinaria.decimalaBinario(resul);
  91. System.out.println("Resultado : "+ resulbin + "(" + resul + ")");
  92. break;
  93. case 5 :
  94. salir = false;
  95. break;
  96. }
  97. }
  98. }
  99. }
  100.  
Runtime error #stdin #stdout #stderr 0.1s 380672KB
stdin
Standard input is empty
stdout
Que desea hacer : 
 1)Sumar 
 2)Restar 
 3)Multiplicar 
 4)Dividir 
 5)Salir 
stderr
Exception in thread "main" java.util.NoSuchElementException
	at java.util.Scanner.throwFor(Scanner.java:907)
	at java.util.Scanner.next(Scanner.java:1530)
	at java.util.Scanner.nextInt(Scanner.java:2160)
	at java.util.Scanner.nextInt(Scanner.java:2119)
	at CalculadoraBinaria.main(Main.java:47)