Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - IsmaelBFH

#1
Java / AYUDAAA
25 Noviembre 2015, 11:34 AM
m
#2
Java / Hola tengo un bug haber si me pueden ayudar!!
23 Noviembre 2015, 12:07 PM
Estimados amigos programadores:
Tengo un pequeño problema ya desde hace unas semanas... La verdad es que estoy haciendo un juego a lo ahorcado y me sale todo el rato un fallo o un bug cuando el programa pregunta, diga una letra para adivinar y yo pongo por ejemplo de la palabra DISCO pongo la D y me muestra D----, e incluso imprime un guion mas nose porque pero lo imprime, y si tiene mas de una letra de esas pondria ejemplo: de MONITOR si pongo la O deberia poner -O---O- pero el problema está en que siempre saca un error que pone: :huh: :huh: :huh:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -1
   at java.lang.String.substring(Unknown Source)
   at ej01.ahorcado.main(ahorcado.java:72)
Y me jode porque estaba funcionando (mas o menos) y sale este error tan extraño
lo que me gustaría que me ayudasen a detectar el problema, soy novato en programación y no me vendría nada mal un empujoncito vuestro... Lo que quiero es que me vaya guardando las letras en la cadenavacia y a medida que me vaya preguntando pueda ir completando la palabra hasta el final... Si fuesen ustedes tan amables de echarme una mano lo estaré muy agradecido... Aqui les dejo el codigo... Gracias por todo, anticipadamente  ;D


package ej01;

import java.util.*;

public class ahorcado {

public static void main(String[] args) {
               int intentos,dato1,c=0,i,t,longit,longitud,l,cont1=0;
char letra;
String palabra="",letrapulsada,cadenavacia2="",cadenavacia="";
String lista="PERRO LAPIZ ORDENADOR TECLADO PROCESADOR SISTEMA INTERFAZ UNIX PROGRAMA DISCO CONECTOR CABLEADO ALMOHADILLA VENTANA JERSEY CAMISETA PANTALON RECREO MONITOR BOCADILLO";
Scanner teclado = new Scanner(System.in);
Random azar =new Random();
    dato1=azar.nextInt(20)+1; //genera numero al azar de 1 a 20 para contar las 20 palabras que hay

    for(i=0; i<lista.length(); i++){ //recorremos la cadena para buscar nuestra palabra escogida por el numero al azar dado
   
           letra = lista.charAt(i); //Vamos contando letra a letra y guardandolo en la variable letra
           
            if(letra == ' ') { //si se encuentra con un espacio que sume 1 al contador
                c++; //especifica porqué palabra del ciclo va
            }
            if(c == dato1) { //y cuando el contador coincida con el numero generado al azar que especifica la palabra que ha elegido
           
                palabra=palabra+lista.charAt(i+1); // que coja el carácter por el que va (+1 para que no coja el espacio), que es el que coincide con la palabra elegida y con el ciclo que se complete dicha palabra guardandolo en la variable palabra
            }
        }

   
        System.out.println(palabra);
        do{
        for(intentos=1;intentos<=10;intentos++){
        cadenavacia="";
            cadenavacia2="";
        System.out.println("Introduce una letra para adivinar la palabra: ");
        letrapulsada=teclado.nextLine();
        letrapulsada=letrapulsada.toUpperCase();
       
       
        if(palabra.indexOf(letrapulsada) >=0){ //si la letra que ha pulsado coincide con la letra pulsada por el usuario
       
        for(t=0;t<palabra.length();t++){ //para ir contando las letras
       
       
        if(!letrapulsada.equals(palabra.charAt(t))){ //que ponga la cadena en guiones
        cadenavacia=cadenavacia+"-";
       
        }

        }   
   
        }

       
        longit=palabra.indexOf(letrapulsada); //posicion de esa letra
        cadenavacia=cadenavacia.substring(0,longit)+letrapulsada+cadenavacia.substring(longit,cadenavacia.length()-1);
    //Lo que hacemos es concatenar desde el inicio hasta la longitud de esa palabra y alli ponemos la letra, a continuacion hasta el final de la palabra
        System.out.println(cadenavacia);
       

        longit=palabra.indexOf(letrapulsada);
    longitud=palabra.indexOf(letrapulsada, longit+1);
            cadenavacia2=cadenavacia.substring(0,longitud)+letrapulsada+cadenavacia.substring(longitud,cadenavacia.length()-1);
            System.out.println(cadenavacia2);
            System.out.println("Estas en el intento "+intentos);
       
        }
        }while(intentos>=10);
       
}
}
#3
Java / Ayuda importante... No me sale...
17 Noviembre 2015, 11:35 AM
m
#4
Estimados señores hackers y programadores:
Me han mandado para un trabajo algo muy importante que tengo que hacer en Java , se trata de un codigo que saque de 20 palabras fijas, saque una al azar, no se pueden usar arrays o vectores ni nada de esas cosas, solo con cadenas y metodos de cadenas y tal, lo que he hecho en el codigo es sacar un fragmento al azar de esa palabra, ahora solo me falta autocompletar la palabra, es decir si la palabra es JERSEY, me saca ERSEY y yo quiero que me saque la palabra entera y nose como hacerlo, llevo ya dias intentandolo y aún no me ha salido, por favor cuento con vuestra ayuda para que me lo solucioneis y me lo expliqueis si sois tan amables, habia pensado en ir a la posicion de esa cadena sacada (por ejemplo ERSEY), y sacar las letras que faltan en la lista de palabras pero nose como añadirlas, y seguro que es una tonteria que tengo delante de mis narices... Por favor cuento con vuestra ayuda para que me ayudeis a sacarlo, solo pido que me saque la palabra entera de ese patron , acá les dejo el código que llevo deducido hasta ahora, lo que hay entre comentario nose si estará bien o no por eso lo e dejado asi, pero "cadena" saca un fragmento de una palabra de la "lista" pero no la palabra completa, ayudenme plisss!!!
package ej01;

import java.util.*;

public class ahorcado {

public static void main(String[] args) {
int dato1,t,c,l;
char var, y;
String cadenavacia="",cadena;
String lista="PERRO LAPIZ ORDENADOR TECLADO PROCESADOR SISTEMA INTERFAZ UNIX PROGRAMA DISCO CONECTOR CABLEADO ALMOHADILLA VENTANA JERSEY CAMISETA PANTALON RECREO MONITOR BOCADILLO";
Random azar =new Random();
    dato1=azar.nextInt(lista.length()); //genera numero al azar de la cadena

int inicio = lista.indexOf(" ");
    int fin = lista.indexOf(" ", inicio + dato1);
   
    cadena=lista.substring(inicio + dato1, fin);

    System.out.println(cadena);

    /*if (lista.indexOf(cadena) != -1){
    for (t=0;t< inicio && t>fin; t++){
    l=lista.indexOf(cadena.charAt(t));
    y=lista.charAt(l);
    System.out.println(l);
    System.out.println(y);
    }
   
    }*/
   
 

}
}


RUEGO VUESTRA AYUDA PLIS, ES UNA TONTERIA SEGURO...
#5
Veran es que estoy haciendo un boton que descargue el contenido previamente subido a la base de datos (tipo blob)
y tengo el problema que al llevarme por post a descargar.php no me descarga y no se en que fallo, ¿como haría para que me dejara descargarlo? Tiene que ser musica el contenido, he hecho este documento llamado descargar.php y me lleva a VLC media y no se descarga nada :( haber si me pueden solucionar cuanto antes les estaria muy agradecido....

Código (php) [Seleccionar]
<?php
      $enlace 
mysql_connect('localhost',  'root''a');
   if  (!$enlace) {
             die(
'No pudo conectarse: ' mysql_error());
            }
  
  mysql_select_db ("proyecto"$enlace); 
  $id=$_GET["idmusica"];
  $query mysql_query ("SELECT * FROM musica WHERE idmusica='$id'") or die('Consulta fallida: ' mysql_error());
  $f mysql_fetch_assoc($query);


$filer filter_input(INPUT_GET'file'FILTER_SANITIZE_SPECIAL_CHARS);
     
$file=$f['archivo']; 
 
header("Cache-Control: public");
        
header("Content-Description: File Transfer");
        
header("Content-type: audio/mpeg");
        
header("Content-Transfer-Encoding: binary");
     
header ("Content-Disposition:$file; ");

   
?>



Un saludo amigos!



Ismael
#6
Estimados programadores y hackers:
Tengo un problema y es que estoy aprendiendo PHP integrado con MySQL y lo que quiero, si son ustedes tan amables, es que me expliquen desde 0 este codigo que esta copiado de una tienda virtual para que pueda hacerlo yo.
Lo que quiero es que me expliquen linea a linea en que consiste cada linea de codigo si no supiera nada como podría hacer paginacion solo entendiendolo?
No se si me explico lo unico que quiero es que me expliqueis el siguiente codigo con detalle de manera que un novato lo pueda entender, es paginacion de una tienda virtual pero no entiendo los ifs isset if is_numeric, los for etc.
Como podría hacer este codigo desde 0 entendiendolo? es que estoy muy perdido con el PHP me parece muy abstracto haber si me pueden ayudar... Y si en vez de cada 12 productos haga una paginacion si quisiera hacer que me aparecieran 10 en cada pagina como lo haria?
NO ENTIENDO A PARTIR DE LA LINEA QUE PONE: $reg_por_pagina=12; NO ENTIENDO LAS SENTENCIAS NI PORQUE SE HACEN ESAS COSAS, ETC.
AYUDARME PORFAVOR
Código (php) [Seleccionar]
<?php
$consulta=mysql_query("select * from productos ORDER BY id DESC",$conexion);
$num_reg=mysql_num_rows($consulta);

if ($num_reg==0){
echo "no se han encontrado productos para mostrar";
}

$reg_por_pagina=12
if (isset($_GET['num'])){ 
$num_pagina=$_GET['num']; 
}else{
$num_pagina=1
}



if (is_numeric($num_pagina)) 
$inicio=(($num_pagina-1)*$reg_por_pagina);
else
$inicio=0;
$consulta=mysql_query("select * from productos order by id DESC limit $inicio,$reg_por_pagina",$conexion); //haga paginacion
$can_paginas=ceil($num_reg/$reg_por_pagina);
?>


<?php 

while($filasmysql_fetch_array($consulta)) {
$id=$filas['id'];
$imagen=$filas['imagen'];
$nombre=$filas['nombre'];
$desc=$filas['descripcion'];
$precio=$filas['precio'];
$enStock=$filas['cuanto_hay'];
$fecha=$filas['fecha'];
?>

       
<?php include"plantilla/caja.php";?>

<?php ?>
<!-- Paginación-->
<div id ="paginador" align="center">
<?php 

if($num_pagina>1)
   
echo "<a href='index.php?num=".($num_pagina-1)."'>Anterior</a> "

for ($i=1;$i<=$can_paginas;$i++){ 
if ($i==$num_pagina
echo "<span>$i </span> "
else
    
echo "<a href='index.php?num=$i'>$i</a> ";
   
}
if($num_pagina<$can_paginas)
   
echo "<a href='index.php?num=".($num_pagina+1)."'>Siguiente</a> "
?>


Muchas Gracias :)
Un saludo

IsmaelBFH