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


 


Tema destacado: ¿Usas Skype? Protégete de los Skype Resolver


  Mostrar Mensajes
Páginas: 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 ... 43
101  Programación / Java / Re: duda al hacer un programa en: 1 Mayo 2017, 14:53
Cualquier cosa dinos!. Suerte con tu trabajo.  :P
102  Programación / Java / Re: Recorrer y sustituir en matriz JAVA en: 1 Mayo 2017, 13:55
characterFor

Es el nombre que le puse a ese ciclo. Es como una etiqueta, para referirme a ese ciclo en un futuro (tengo entendido que no es muy buena practica hacerlo de esta forma, pero es fácil de implementar).

Por tanto cuando yo abajo pongo: continue characterFor, le estoy diciendo que termine de hacer lo que esta haciendo y que continue con la siguiente iteracion del ciclo llamado de esa forma.

Código
  1. nombreCiclo : for(int i = 0;i<10; i++) {
  2.  
  3. }
  4.  
103  Foros Generales / Foro Libre / Re: Vale la pena resistir las penurias, a un sabiendo que tienes pocas posibilidades en: 1 Mayo 2017, 11:39
Eleкtro DJ?

Fuera broma, tengo 200mb de Internet y me pega un buen "lagaso" el entrar a este post por tu culpa.


Nose que le pasa a Hason, pero pense que era al único que le gustaba "Infected Mushroom - Becoming Insane" xD
104  Programación / Java / Re: Recorrer y sustituir en matriz JAVA en: 1 Mayo 2017, 11:21
Ahh, ok, ya entendí.

Solo aclárame una cosa: ¿Si yo ingresara "SABR" en vez de "ABRS" el resultado seria el mismo?


Por otro lado, cuando publiques código usa las etiquetas GeSHi con el lenguaje de tu Código. (Selecciona tu código y arriba, alado de una A roja, aparece un select. Ahí selecciona Java).


EDITO:

Como no me respondiste, esto es lo que creo que quieres:
Código
  1. public static char[][] sustituir(char[][] sopa, String palabra) {
  2.        characterFor : for (int c = 0; c < palabra.length(); c++) {
  3.            for (int i = 0; i < sopa.length; i++) {
  4.                for (int j = 0; j < sopa[i].length; j++) {
  5.                    if(sopa[i][j] == palabra.charAt(c)) {
  6.                        sopa[i][j] = '*';
  7.                        continue characterFor;
  8.                    }
  9.                }
  10.            }
  11.        }
  12.        return sopa;
  13.    }

Si no entiendes algo, dime.
105  Programación / Java / Re: Recorrer y sustituir en matriz JAVA en: 1 Mayo 2017, 09:27
No entiendo tu código ya que si bien el "char[][] m" puede ser tu sopa de letras y el "String s" puede ser la palabra que agregas... en ningún momento dices donde agregarla.

Entiendo que tu función es algo como esto:

Entradas: char[][] m (Sopa), String s (Palabra)
Proceso: Remplazar en la sopa de letras los espacios vacíos por las letras de la palabra agregada.
Salida: char[][] m (Sopa con las letras agregadas).

Y al menos yo no veo forma de conseguir esa salida con las entradas que me das. Por tanto,  que tal si agregamos tres entradas mas: int ix (Punto x inicial), int iy (Punto y inicial) y boolean isHorizontal (Para saber si tengo que agregar la palabra en horizontal o vertical).

Con estos tres parámetros mas podrás saber en donde empezar a agregar y hacia donde agregarlo.

Código
  1. public static void main(String[] args) {
  2.  
  3.        // ACA CREO MI SOPA Y LE PONGO LOS ESPACIOS EN BLANCO (Le asigno el mismo len para que sea cuadrado)
  4.        int len = 20;
  5.        char[][] sopa = new char[len][len];
  6.        for (int i = 0; i < sopa.length; i++) {
  7.            for (int j = 0; j < sopa[i].length; j++) {
  8.                sopa[j][i] = ' '; // PONGO TODOS LOS ESPACIOS EN BLANCO
  9.            }
  10.        }
  11.        // ACA TERMINO DE PONER LOS ESPACIOS EN BLANCO
  12.  
  13.  
  14.        // AHORA IMPRIMIRE MI MATRIZ SOPA, PARA VER QUE ESTA SIN "NADA" DENTRO
  15.        for (int i = 0; i < len; i++) {
  16.            for (int j = 0; j < len; j++) {
  17.                System.out.print("[" + sopa[j][i] + "]"); // Los volteo ya que la forma natural seria imprimir de cada "x" todos los "y" y quiero que sea de cada "y" los "x" como una pantalla
  18.            }
  19.            System.out.println("");
  20.        }
  21.        System.out.println("\n\n----------------\n\n"); // Este es un espacio para que no se me junte con la siguiente
  22.        // TERMINE DE IMPRIMIRLO
  23.  
  24.        String palabra = "elhacker.net"; // AGREGARE ESTA PALABRA
  25.        int x = 2; // EN X = 2
  26.        int y = 4; // E Y = 4 -- RECUERDA QUE PARTEN EN 0
  27.        boolean isHorizontal = false;
  28.  
  29.        // Ahora uso mi funcion:
  30.        sopa = sustituir(sopa, palabra, x, y, isHorizontal);
  31.  
  32.        // AHORA IMPRIMIRE MI MATRIZ SOPA, PARA VER QUE FUNCIONO
  33.        for (int i = 0; i < len; i++) {
  34.            for (int j = 0; j < len; j++) {
  35.                System.out.print("[" + sopa[j][i] + "]");
  36.            }
  37.            System.out.println("");
  38.        }
  39.        // TERMINE DE IMPRIMIRLO
  40.  
  41.    }
  42.  
  43.    public static char[][] sustituir(char[][] sopa, String palabra, int x, int y, boolean isHorizontal) {
  44.  
  45.        // VALIDO QUE SE PUEDA AGREGAR - QUE NO EXCEDA EL TAMAÑO MAXIMO DE LA MATRIZ, ESTO ES LO QUE TE PASA A TÍ... (EXACTO COMO TU DICES)
  46.        if(isHorizontal) {
  47.            if(sopa.length < x + palabra.length()) {
  48.                System.out.println("NO SE PUEDE AGREGAR LA PALABRA");
  49.                return sopa;
  50.            }
  51.        } else {
  52.            if(sopa[x].length < y + palabra.length()) {
  53.                System.out.println("NO SE PUEDE AGREGAR LA PALABRA");
  54.                return sopa;
  55.            }
  56.        }
  57.        // TERMINO DE VALIDAR
  58.        // AHORA AGREGO
  59.        if(isHorizontal) {
  60.            for (int i = x; i < palabra.length() + x; i++) {
  61.                sopa[i][y] = palabra.charAt(i - x);
  62.            }
  63.        } else {
  64.            for (int i = y; i < palabra.length() + y; i++) {
  65.                sopa[x][i] = palabra.charAt(i - y);
  66.            }
  67.        }
  68.        return sopa;
  69.    }
  70.  

Normalmente no pondría todo el código, peor hoy me siento bondadoso (o malo, depende de como lo mires).

Suerte! (Cualquier cosa nos dices, seguro yo o alguien mas te responderá... me demore en responder ya que vi que no estaba en Java y quería esperar que lo cambiaran  :xD solo por joder.)
106  Programación / Java / Re: duda al hacer un programa en: 30 Abril 2017, 21:54
Hola, no tengo la suficiente información para poder ayudarte mejor, pero quizás esto sea suficiente:

Estas serian tus clases:
NombreAtributosFunciones
Cliente -id, -nombre, ...constructor(name), getId(): id, getNombre(): nombre, .... (Pones el resto)
Musica-id, -nombre, -genero, -precioconstructor(name, genero, precio), getId(): id, getNombre(): nombre, reproducir() : void, .... (Pones el resto)
Venta-id, -cliente, -musicas, -totalconstructor(-cliente, -musicas), getId(): id, getMusicas(): musicas, .... (Pones el resto)

Ok, lo primero que tienes que entender es que la clase Musica es una clase abstracta. Esto pasa ya que no puedes comprar "Musica" asi como así, tienes que comprarla en un formato ya sea CD, Casete o Vinilo.

Portanto, dicha clase abstracta al ser heredada (por ejemplo por cd) le pedira que esta implemente su constructor y sus metodos abstractos:

Código
  1. public Contructor(String nombre, String genero, int Precio) {
  2.    /* ... */
  3. }
  4. public void Reproducir() { /* . PON LO QUE QUIERAS, LA GRACIA ES QUE SE NOTE QUE CADA UNO SE REPRODUCE DE FORMA DISTINTA . */}
  5.  

(Si necesitas mas código de ejemplo dime)

Bien, ahora, no se si realmente te piden que esto sea "eficiente, gastar pocos recursos o algo así" en dicho caso te la tendrás que ingeniar mas, pero si no te lo exigen... es facil.

(En la siguiente parte supongo que crear cada producto unitariamente, y cada producto osea: CD, Vinilo, Disquete. Tiene su stock, su genero, nombre etc.)

Bueno, probablemente te pidan hacer algo similar a una base de datos, es por esto que puse el campo "id" en todas las clases. Una forma efectiva (probablemente no la mas eficiente) de simular una base de datos con dicho campo es la siguiente:

Código
  1. public class Cliente {
  2.    public static int IDENTIFICATOR = 0;
  3.    private final int id;
  4.    private String name;
  5.    public Cliente(String name) {
  6.        this.id = Cliente.IDENTIFICATOR++;
  7.        this.name = name;
  8.    }
  9. }
  10.  

De esta forma, la variable IDENTIFICATOR que al ser static no depende de la instancia sino que es global siempre asignara su valor a la id del cliente y luego aumentara su propio valor en 1, de esta forma el siguiente cliente tendrá una id mas.. Y ya esta, con eso empleaste las IDs autoincrementales.

Bien, ahora como guardamos todos los clientes (para poder hacer una búsqueda, por ejemplo por su id).

Aca podrías usar un Diccionario con la clase Map, pero entiendo que posiblemente este sea un ejercicio basico, (y al menos a mi nunca me mencionaron eso en la universidad... realmente no me enseñaron nada (asco de universidad) ).

Así que usaremos un ArrayList. Que es como un Array cualquiera, solo que no tiene fin, puedes poner todos los elementos que quieras!! (prácticamente hablando).

Entonces en nuestra clase Cliente hacemos agregamos lo siguiente:

Código
  1. public static ArrayList<Cliente> CLIENTES = new ArrayList<>();

Y en el constructor agregamos el add:
Código
  1. CLIENTES.add(this); // justo al  final

De esta forma tenemos una "base de datos de clientes". Puedes hacer esto mismo con el resto. Pero recuerda, no lo hagas en binilo, CD, o Disquete... puesto que esto tiene que estar implementado en la clase Musica (De esta forma tendras una "Base de Datos" o mas bien "Tabla" única para toda la música sin importar que sea!)

...

Bueno, ahora para obtener los valores puedes recorrer el arreglo en busca de la ID, o si quieres por el nombre, etc.. eso te lo ingenias. Por ahora te dejo el código de la ID:

Código
  1. public int getId() {
  2.        return this.id;
  3.    }
  4.    public static Cliente findClient(int id) {
  5.        for(Cliente cliente : CLIENTES) if(id == cliente.getId()) return cliente;
  6.        return null;
  7.    }
  8.  

Si la id es igual al cliente que estamos iterando entonces lo retorna. Y si después de todas las iteraciones no se encuentra... regresa un valor nulo (luego tu validas que si es null imprima un mensaje diciendo que no existe).

Y ahora, recuerdas que en la venta tenias "cliente" y "musicas", pues dichos atributos se verían así:

Código
  1.    private Cliente cliente;
  2.    private ArrayList<Musica> musicas;

Entonces es facil, al concretar una venta generas un ArrayList con todas las canciones que quiere el cliente y junto a los datos del cliente lo pasas por el constructor. Para que este se almacene en nuestro ArrayList de Ventas, con una id unica... bla bla bla.

Si no te queda claro dime. Y mas tarde te respondo (que tengo que salir).





107  Foros Generales / Noticias / Re: Demuestran que crear una máquina del tiempo es posible en: 30 Abril 2017, 19:23
Pruebame que no hay una pequeña tetera de loza rosa orbitando al sol a una distancia de un millón exacto de kilómetros

 :xD :xD Clásico ejemplo.

Ojo con no confundir "teoría" con "hipótesis".

Una hipótesis es simplemente una idea que esta puesta en duda.
Una teoría comprende evidencias obtenidas de pruebas e investigaciones.

Por otra parte una ley, es una teoría con fundamento matemático.
108  Foros Generales / Noticias / Re: Uno de cada cuatro españoles, víctima de una ciberamenaza en los últimos meses en: 30 Abril 2017, 19:16
Teienes razon NEBIRE. Ese es el problema con las encuestas por internet o similares, no accedes a todos los "tipos" de población.

Aunque también hay que tener en cuenta que una "ciberamenaza" puede ser simplemente decir "te voy a sacar la IP", porque la gente cree que con eso su vida se acaba.

Lo mismo pasa cuando algunos que se identifican como miembros de la ideología "anonymous" declaran que atacaran facebook. Si bien no es una amenaza directa si lo es indirectamente ya que afecta su estilo de vida.
109  Foros Generales / Noticias / Re: Demuestran que crear una máquina del tiempo es posible en: 30 Abril 2017, 19:09
y lo seguirá siendo hasta que no se construya y se puedan realizar los viajes.

carl sagan estuvo convencido de la existencia de civilizaciones extraterrestres, pero al no poder mostrar solidas evidencias, no le quedó mas remedio que escribir obras de ciencia ficción.

 ;-) ;-) ;-) ;-) ;-) Leí a NEBIRE e iba a postear lo mismo  :laugh: :laugh: Gracias  ;-)
110  Informática / Juegos y Consolas / Re: Problemas Con Joystick En PC en: 30 Abril 2017, 19:04
Ve los drivers. Suena raro pero a mi también me paso. prueba con versiones anteriores o mas nuevas. (Recuerda reiniciar)
Páginas: 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 ... 43
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines