elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  [JAVA] Programa irresoluble en java
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [JAVA] Programa irresoluble en java  (Leído 2,593 veces)
Unchained

Desconectado Desconectado

Mensajes: 5


Ver Perfil
[JAVA] Programa irresoluble en java
« en: 5 Abril 2014, 19:58 pm »

Muy buenas amigos, queria preguntarles si alguien sabria realizar este code, lo econtre en un libro y no he sido capaz de resolverlo.

Es un auténtico dolor de cabeza.

Un saludo



« Última modificación: 5 Abril 2014, 20:05 pm por Unchained » En línea

Mitsu

Desconectado Desconectado

Mensajes: 259



Ver Perfil WWW
Re: [JAVA] Programa irresoluble en java
« Respuesta #1 en: 5 Abril 2014, 20:29 pm »

Según lo entiendo yo, ésto es así:

Ingresar una serie de números mayor o igual a 1 y menor o igual a 1000.

Código
  1. Scanner read = new Scanner(System.in);
  2. System.out.println("Ingrese una serie de números enteros");
  3. String numeros = read.nextLine();

Convertimos los números a enteros:

Código
  1. String[] numeroserie = numeros.split(" ");
  2. int[] serie = new int[numeroserie.length];
  3.  
  4. try {
  5. for(int i=0; i<numeroserie.length; i++) {
  6. serie[i] = Integer.parseInt(numeroserie[i]);
  7. }
  8. } catch(NumberFormatException ex) {
  9. ex.printStackTrace();
  10. }

Sacamos el total y el porcentaje que pide:

Código
  1. int total = 0;
  2. for(int i=0; i<serie.length; i++) {
  3. total += serie[i];
  4. }
  5.  
  6. int porcentaje = 25 * total / 100;

Creamos un método para determinar el menor de la serie:

Código
  1. public int getMenor(int... numeros) {
  2. int menor = numeros[0];
  3. for(int number : numeros) {
  4. if(number < menor) {
  5. menor = number;
  6. }
  7. }
  8. return menor;
  9. }

Ahora ya sabemos quién es el cuadril, en caso no alcance por ser mayor al 25% descartas ese número y sigues con el 2do menor, y así...


Luego para ordenar la lista es muy sencillo, debes de saberlo. Recorres la nueva lista en un for e imprimes con un espacio intermedio.


Salu2.


En línea

Unchained

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: [JAVA] Programa irresoluble en java
« Respuesta #2 en: 5 Abril 2014, 20:42 pm »

Según lo entiendo yo, ésto es así:

Ingresar una serie de números mayor o igual a 1 y menor o igual a 1000.

Código
  1. Scanner read = new Scanner(System.in);
  2. System.out.println("Ingrese una serie de números enteros");
  3. String numeros = read.nextLine();

Convertimos los números a enteros:

Código
  1. String[] numeroserie = numeros.split(" ");
  2. int[] serie = new int[numeroserie.length];
  3.  
  4. try {
  5. for(int i=0; i<numeroserie.length; i++) {
  6. serie[i] = Integer.parseInt(numeroserie[i]);
  7. }
  8. } catch(NumberFormatException ex) {
  9. ex.printStackTrace();
  10. }

Sacamos el total y el porcentaje que pide:

Código
  1. int total = 0;
  2. for(int i=0; i<serie.length; i++) {
  3. total += serie[i];
  4. }
  5.  
  6. int porcentaje = 25 * total / 100;

Creamos un método para determinar el menor de la serie:

Código
  1. public int getMenor(int... numeros) {
  2. int menor = numeros[0];
  3. for(int number : numeros) {
  4. if(number < menor) {
  5. menor = number;
  6. }
  7. }
  8. return menor;
  9. }

Ahora ya sabemos quién es el cuadril, en caso no alcance por ser mayor al 25% descartas ese número y sigues con el 2do menor, y así...


Luego para ordenar la lista es muy sencillo, debes de saberlo. Recorres la nueva lista en un for e imprimes con un espacio intermedio.


Salu2.

Muchas Gracias Mitsu , tengo una duda,
para ordenar con for seria algo parecido a esto ?

Código:
public static void burbujaPalabras (String lista_palabras[]){
        boolean ordenado=false;
        int cuentaIntercambios=0;
        //Usamos un bucle anidado, saldra cuando este ordenado el array
        while(!ordenado){
            for(int i=0;i<lista_palabras.length-1;i++){
                if (lista_palabras[i].compareToIgnoreCase(lista_palabras[i+1])>0){
                    //Intercambiamos valores
                    String aux=lista_palabras[i];
                    lista_palabras[i]=lista_palabras[i+1];
                    lista_palabras[i+1]=aux;
                    //indicamos que hay un cambio
                    cuentaIntercambios++;
                }
            }
            //Si no hay intercambios, es que esta ordenado.
            if (cuentaIntercambios==0){
                ordenado=true;
            }
            //Inicializamos la variable de nuevo para que empiece a contar de nuevo
            cuentaIntercambios=0;
        }
 
    }
« Última modificación: 5 Abril 2014, 20:56 pm por Unchained » En línea

Unchained

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: [JAVA] Programa irresoluble en java
« Respuesta #3 en: 5 Abril 2014, 21:23 pm »

No he sido capaz de crear el for , y aun no he conseguido que los System.out.println() me muestren algo.
Un saludo y muchas gracias
En línea

Mitsu

Desconectado Desconectado

Mensajes: 259



Ver Perfil WWW
Re: [JAVA] Programa irresoluble en java
« Respuesta #4 en: 5 Abril 2014, 23:07 pm »

Hay muchos métodos para ordenar un arreglo, tienes el quicksort, la burbuja, etc.

Si quieres algo rápido, puedes usar el método sort de List, para ésto tendrías que convertir el array a List:

Código
  1. public static List<Integer> getSortList(int[] serie) {
  2. // se supone que hasta aqui ya hemos encontrado nuestro cuadril
  3. int cuadril = ?
  4. List<Integer> serie2list = Arrays.asList(serie); // convierte a List el array serie que contiene los numeros
  5. serie2list.remove("cuadril"); // elimina el cuadril momentaneamente
  6. serie2list.sort(); // ordena la lista
  7. serie2list.add(0,cuadril); // agrega el cuadril en la primera posicion
  8.  
  9. return serie2list;
  10. }
  11.  
  12. // imprime la lista ordenada con el cuadril en el primer lugar
  13. for(Integer i : getSortList(serie)) {
  14. System.out.print(i+" ");
  15. }

También puedes convertir una List a Array con el método toArray(). Ej:

Código
  1. Object[] array = getSortList(serie).toArray();


Salu2.
En línea

Unchained

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: [JAVA] Programa irresoluble en java
« Respuesta #5 en: 6 Abril 2014, 00:46 am »

Gracias por la rapidez, al intentar compilar me da estos errores:
En línea

Mitsu

Desconectado Desconectado

Mensajes: 259



Ver Perfil WWW
Re: [JAVA] Programa irresoluble en java
« Respuesta #6 en: 6 Abril 2014, 01:55 am »

Hmm por lo que veo fallan algunos conceptos básicos que debes tener. Debes de darte cuenta que el error en el método te lo da porque no has importado la clase java.util.List. Y en la línea int cuadril = ? no es una línea de código, te pongo el '?' porque ese método debe de usarse luego que ya se hallado el cuadril. Para ésto crea una variable llamada cuadril y en el método que detecta el cuadril, asígnale el cuadril detectado a la variable. Hay que aprender a leer los errores que te da el IDE.

Salu2.
En línea

Unchained

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: [JAVA] Programa irresoluble en java
« Respuesta #7 en: 6 Abril 2014, 02:40 am »

Buenas Mitsu, y perdona por la paliza que te estoy dando.. pero es que soy muy novato en esto aun..

Me siguen dando mogollón de errores de compilación y ya no se que mas cambiar.
Serias tan amable de ponerme el codigo todo en uno asi veo que estoy haciendo mal?

De todas formas muchisimas gracias por todo.

Un saludo
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Compilar un *.java a *.class (el *.java contiene errores) « 1 2 »
Java
Lopardo 12 8,431 Último mensaje 26 Noviembre 2006, 19:21 pm
por Casidiablo
¿como hacer que java no llame a Java Runtime Environment?
Java
misforos 3 3,498 Último mensaje 28 Mayo 2010, 17:12 pm
por egyware
Que se necesita para programar en java y c++ con JNI(JAVA NATIVE INTERFACE)?
Java
hack-4-life 8 9,245 Último mensaje 5 Octubre 2010, 03:01 am
por hack-4-life
Java SE 6 Update 32 disponible con mejoras en el rendimiento. Actualiza Java
Noticias
wolfbcn 0 2,548 Último mensaje 27 Abril 2012, 22:35 pm
por wolfbcn
pasar un programa de java.swit a java.io
Java
javier210186 1 1,995 Último mensaje 17 Marzo 2013, 03:54 am
por javier210186
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines