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. /* Name of the class has to be "Main" only if the class is public. */
  9. class Ideone
  10. {
  11. public static void main (String[] args) throws java.lang.Exception
  12. {
  13. int[] numeros = new int[10];
  14. boolean ordenado = true;
  15. int aux = 0;
  16.  
  17. //Rellendo el Array con numeros Aleatorios
  18. for (int i = 0; i < numeros.length; i++) {
  19. numeros[i] = (int) (Math.random() * 100) + 1;
  20. }
  21. //Muestro el array antes de ordenarlo
  22. System.out.println("El array antes del ordenar es el siguiente:");
  23. for (int i = 0; i < numeros.length; i++) {
  24. if(i == 0){
  25. System.out.print(numeros[i]);
  26. } else {
  27. System.out.print(", " + numeros[i]);
  28. }
  29. }
  30. System.out.println();
  31. //Funcion para ordenar el Array
  32. //mientras ordenado sea false me quedo en el bucle while
  33. do {
  34. //antes de recorrer el array doy por echo que esta ordenado (se cambiara si se realiza algun cambio en el array)
  35. ordenado = true;
  36. // recorro el array en orden
  37. for (int i = 0; i < numeros.length - 1; i++) {
  38. // compruebo si el numero en la posicion i es mayor que el numero en i+1
  39. if (numeros[i] > numeros[i + 1]) {
  40. // si el numero en i es mayor que el que esta en i+1 los cambio de sitio usando aux
  41. System.out.println("Cambiando el numero " + numeros[i] + " en la posicion " + i + " por el numero " + numeros[i + 1] + " en la posicion " + (i + 1));
  42. aux = numeros[i];
  43. numeros[i] = numeros[i + 1];
  44. numeros[i + 1] = aux;
  45. // y al haber un cambio, siginifica que no estaban ordenados asi que dejo ordenado a falso
  46. ordenado = false;
  47. }
  48. }
  49. } while (ordenado == false);
  50.  
  51. // muestro el array una vez ordenado
  52. System.out.println("El array despues del ordenar es el siguiente:");
  53. for (int i = 0; i < numeros.length; i++) {
  54. if(i == 0){
  55. System.out.print(numeros[i]);
  56. } else {
  57. System.out.print(", " + numeros[i]);
  58. }
  59. }
  60.  
  61. //Seleccionamos un Numero de la Lista y mostramos su anterior y posterior
  62. boolean Correcto = false;
  63. Scanner teclado = new Scanner(System.in);
  64. int numeroElegido = 0;
  65. do{
  66. System.out.println("Seleccione un numero de la lista");
  67. System.out.println("Se mostrara el anterior y el siguiente a ese numero:");
  68. numeroElegido = teclado.nextInt();
  69. for(int i = 0;i < numeros.length; i++){
  70. if(numeros[i] == numeroElegido){
  71. if(i == 0){
  72. System.out.println("Has elegido el Numero:" + numeroElegido + " no tiene numero anterior, el numero despues es:" + numeros[i+1]);
  73. } else if( i == (numeros.length - 1)){
  74. System.out.println("Has elegido el Numero:" + numeroElegido + " el numero anterior es:" + numeros[i-1] + ", este numero no tiene numero despues");
  75. } else {
  76. System.out.println("Has elegido el Numero:" + numeroElegido + " el numero anterior es:" + numeros[i-1] + ", el numero despues es:" + numeros[i+1]);
  77. }
  78. Correcto = true;
  79. }
  80.  
  81. }
  82. if(Correcto == false){
  83. System.out.println("Error has introducido un numero que no esta en la lista, vuelve a intentarlo");
  84. }
  85. }while(Correcto == false);
  86. }
  87. }
Runtime error #stdin #stdout #stderr 0.11s 2184192KB
stdin
Standard input is empty
stdout
El array antes del ordenar es el siguiente:
94, 16, 54, 47, 90, 84, 63, 29, 10, 20
Cambiando el numero 94 en la posicion 0 por el numero 16 en la posicion 1
Cambiando el numero 94 en la posicion 1 por el numero 54 en la posicion 2
Cambiando el numero 94 en la posicion 2 por el numero 47 en la posicion 3
Cambiando el numero 94 en la posicion 3 por el numero 90 en la posicion 4
Cambiando el numero 94 en la posicion 4 por el numero 84 en la posicion 5
Cambiando el numero 94 en la posicion 5 por el numero 63 en la posicion 6
Cambiando el numero 94 en la posicion 6 por el numero 29 en la posicion 7
Cambiando el numero 94 en la posicion 7 por el numero 10 en la posicion 8
Cambiando el numero 94 en la posicion 8 por el numero 20 en la posicion 9
Cambiando el numero 54 en la posicion 1 por el numero 47 en la posicion 2
Cambiando el numero 90 en la posicion 3 por el numero 84 en la posicion 4
Cambiando el numero 90 en la posicion 4 por el numero 63 en la posicion 5
Cambiando el numero 90 en la posicion 5 por el numero 29 en la posicion 6
Cambiando el numero 90 en la posicion 6 por el numero 10 en la posicion 7
Cambiando el numero 90 en la posicion 7 por el numero 20 en la posicion 8
Cambiando el numero 84 en la posicion 3 por el numero 63 en la posicion 4
Cambiando el numero 84 en la posicion 4 por el numero 29 en la posicion 5
Cambiando el numero 84 en la posicion 5 por el numero 10 en la posicion 6
Cambiando el numero 84 en la posicion 6 por el numero 20 en la posicion 7
Cambiando el numero 63 en la posicion 3 por el numero 29 en la posicion 4
Cambiando el numero 63 en la posicion 4 por el numero 10 en la posicion 5
Cambiando el numero 63 en la posicion 5 por el numero 20 en la posicion 6
Cambiando el numero 54 en la posicion 2 por el numero 29 en la posicion 3
Cambiando el numero 54 en la posicion 3 por el numero 10 en la posicion 4
Cambiando el numero 54 en la posicion 4 por el numero 20 en la posicion 5
Cambiando el numero 47 en la posicion 1 por el numero 29 en la posicion 2
Cambiando el numero 47 en la posicion 2 por el numero 10 en la posicion 3
Cambiando el numero 47 en la posicion 3 por el numero 20 en la posicion 4
Cambiando el numero 29 en la posicion 1 por el numero 10 en la posicion 2
Cambiando el numero 29 en la posicion 2 por el numero 20 en la posicion 3
Cambiando el numero 16 en la posicion 0 por el numero 10 en la posicion 1
El array despues del ordenar es el siguiente:
10, 16, 20, 29, 47, 54, 63, 84, 90, 94Seleccione un numero de la lista
Se mostrara el anterior y el siguiente a ese numero:
stderr
Exception in thread "main" java.util.NoSuchElementException
	at java.util.Scanner.throwFor(Scanner.java:862)
	at java.util.Scanner.next(Scanner.java:1485)
	at java.util.Scanner.nextInt(Scanner.java:2117)
	at java.util.Scanner.nextInt(Scanner.java:2076)
	at Ideone.main(Main.java:68)