Java - Ayuda

 
Vista:

Ayuda

Publicado por Rocko (11 intervenciones) el 25/09/2021 03:09:58
En el siguiente programa le pido al usuario un arreglo de la cantidad de números que el quiera para posteriormente ordenarlos, pero también tiene que realizar la siguiente instrucción "determinar si son iguales y si no lo son ordenarlos de menor a mayor". Con ayuda del método burbuja se ordenan los números de esta forma pero no entiendo como comprobar si todos son iguales. es lo único que falta ocupo saber como hacer esto para indicar que todos los números son iguales y finalice el programa.

Código:

}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import java.util.Scanner;
 
public class Eje{
 
public static void main(String[] args){
Scanner usuario = new Scanner(System.in);
int n;
int aux=0;
 
System.out.println("Digite la cantidad de elementos de la lista: ");
n = usuario.nextInt();
int lista[] = new int [n];
System.out.println("Ingrese los "+ n +" valores enteros: ");
 
for(int i=0; i<n ; i++){
System.out.println(("Digite el valor "+(i+1)+":"));
lista[i]=usuario.nextInt();}
 
for(int j=0; j < n ; j++ ){
for(int i=0; i<n-1 ; i++){
if(lista[i]>lista[i+1]){
aux = lista[i];
lista[i] = lista[i+1];
lista[i+1] = aux;
}
}
}
 
int k=0;
System.out.println("Numeros ordenados de menor a mayor: ");
while(k<n){
System.out.print(lista[k]+" - ");
k++;
 
}
}
}
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

Ayuda

Publicado por Rodrigo (623 intervenciones) el 25/09/2021 09:42:04
Se me ocurren al menos 3 maneras, todas haciendo algo mientras se leen los datos.

a) Calcular el mayor valor y el menor valor de los datos ingresados.
Si despues de haber leido todos los numeros, el menor y el mayor calzan, son todos iguales y no hace falta ordenarlos.

b) 1 variable booleana cuyo significado final indica si los valores son todos iguales.
Parte en true y podria cambiar de valor a partir del segundo valor agregado.
Cada vez que se ingresa un numero (a partir del 2do), se compara con el anterior ingresado, y si son distintos, la variable booleana pasa a falso. Se tiene que quedar en falso si llegar a cambiarse a falso alguna vez.
Solo es necesario compararla con la justo anterior.

c) 1 variable int que acumule la suma de las diferencias con el valor anterior. Parte en 0. Por cada valor se calcula el valor absoluto de la diferencia con el anterior y se suma al acumulador. Son todos iguales si el acumulador sigue en 0 despues de haber leido todos los datos..
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