Java - Ordenar vector metodo sort()

 
Vista:
sin imagen de perfil

Ordenar vector metodo sort()

Publicado por Ale (7 intervenciones) el 24/02/2021 17:06:32
Hola, necesitaría ayuda para ejecutar un programa que ordene datos numéricos de menor a mayor con el método sort().


Programa que permita ingresar por teclado:

1-La cantidad de datos a guardar en un vector numérico.
2-Los datos que luego serán guardados en un vector numérico del tipo int.
3-Ordenar los datos del vector de menor a mayor.
4-Mostrar los datos ordenados en la pantalla.


La salida debe mostrar:

Vector numérico*** Método de ordenamiento proporcionado por Java

¿Cuántos valores numéricos desea ingresar? --> 4

--Entrada de datos al vector--
Dato (0) >> 99
Dato (1) >> 2
Dato (2) >> 77
Dato (3) >> 1

--Fin de la entrada de datos al vector--

Ordenando... 4 valores.

Los números ordenados de menor a mayor son:
1 2 77 99

---------------------------------

Al ejecutar el programa la salida solo muestra la primera linea:

¿Cuántos valores numéricos desea ingresar? --> 4

Luego la ejecución queda en Running y no finaliza.


package prueba;

import java.util.Scanner;
import java.util.Arrays;

public class Prueba {

private static Scanner teclado;
private static int[] numeros;

public static void main(String[] args) {

teclado = new Scanner(System.in);
int i;

int[] numeros = {99,2,77,1};

System.out.println("¿Cuantos valores va a ingresar?-->" + numeros.length );
int valores = teclado.nextInt();



System.out.println("--Entrada de datos al vector--");
numeros = new int[valores];

for( i = 0; i < valores; i++)
{
System.out.printf("Dato(%d) >>" , i);
numeros[i] = teclado.nextInt();
}

System.out.println("--Fin de la entrada de datos al vector--");

System.out.println("Ordenando.." + numeros.length + "valores.");

Arrays.sort(numeros);

System.out.println("Los numeros ordenados de mayor a menor son: " );
for(i = 0; i < numeros.length; i++)
{
System.out.print(numeros[i]+ " ");
}

System.out.println();


}

}

----------------------------

Podrian ayudarme a identificar donde esta el error? gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Rodrigo
Val: 2.041
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ordenar vector metodo sort()

Publicado por Rodrigo (623 intervenciones) el 24/02/2021 20:03:38
Tu programa espera que ingreses valores. Los ingresas y no funciona o no permite ingresarlos?

Remueve "+ numeros.length" de esta instruccion

1
System.out.println("¿Cuantos valores va a ingresar?-->" + numeros.length );

No tiene sentido que sea parte de la pregunta, deja que sea el usuario el que ingrese ese numero
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Ordenar vector metodo sort()

Publicado por Ale (7 intervenciones) el 24/02/2021 21:51:51
Si remuevo "+ numeros.length" sucede lo mismo la salida muestra solo la linea:

¿Cuántos valores numéricos desea ingresar? quedando en estado Running sin finalizar.

Me indicaron que lo haga de esa forma ,la salida deber mostrar:


¿Cuántos valores numéricos desea ingresar? --> 4

--Entrada de datos al vector--
Dato (0) >> 99
Dato (1) >> 2
Dato (2) >> 77
Dato (3) >> 1

--Fin de la entrada de datos al vector--

Ordenando... 4 valores.

Los números ordenados de menor a mayor son:
1 2 77 99
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rodrigo
Val: 2.041
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ordenar vector metodo sort()

Publicado por Rodrigo (623 intervenciones) el 25/02/2021 01:53:24
No respondiste lo clave.

Ingresas valores ?
El programa evita que ingrese valores?
Se cae al ingresar valores?


Te sugiero que ingreses estos valores: 1 <ENTER> 1 <ENTER>

(no ingreses "<ENTER>" sino ingresa 1, luego presiona la tecla ENTER, etc.) y ve si tu programa hace algo distinto.

Y creo que deberias remover lo que te dije, porque opino que lo que te intentaron decir es que en ese punto el usuario ingresaria un 4, no que tengas que mostrar tu en el programa un 4.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Ordenar vector metodo sort()

Publicado por Ale (7 intervenciones) el 25/02/2021 20:38:05
Claro como había comentado el programa lee la primera línea y no sigue avanzado queda en Running.

La salida solo muestra : ¿Cuántos valores numéricos desea ingresar? --> 4

------------------------------------------------
En el enunciado que mande el ejercicio pide ingresar 4 valores, mostrar los números ingresados , ordenarlos de menor a mayor y mostrarlos ordenados.

La salida que tiene que generar es la siguiente:

¿Cuántos valores numéricos desea ingresar? --> 4

--Entrada de datos al vector--
Dato (0) >> 99
Dato (1) >> 2
Dato (2) >> 77
Dato (3) >> 1

--Fin de la entrada de datos al vector--

Ordenando... 4 valores.

Los números ordenados de menor a mayor son:
1 2 77 99

---------------------------------------------------

No se si pudiste ejecutar el código y ver que pasa, en caso que te pase lo mismo necesitaría saber por que no sigue avanzando y donde estaría el error.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rodrigo
Val: 2.041
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ordenar vector metodo sort()

Publicado por Rodrigo (623 intervenciones) el 25/02/2021 23:03:14
De nuevo no contestas explicitamente:

Intentas ingresar valores? por ejemplo 1 enter y luego otro 1 y enter?

Yo copie tu programa, lo ejecute, ingreso valores y funciona como se espera.

No se por que no ingresas valores, o por que si los ingresas no pasa nada, pero si no respondes si ingresas valores o no, es un misterio mayor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar