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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  NOVATA PIDE AYUDA en programa de java
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: NOVATA PIDE AYUDA en programa de java  (Leído 11,031 veces)
dvd1975

Desconectado Desconectado

Mensajes: 24


Ver Perfil
NOVATA PIDE AYUDA en programa de java
« en: 17 Septiembre 2008, 12:10 pm »

hola estoy empezando a estudiar java
He conseguido un manual en ingles que es programacion en java para dummies.
Por cierto si alguien lo quiere se lo envio.
Entiendo todo lo que explica.
El problema es que
tengo una duda con el siguiente ejemplo
yo tengo escrito esto
 import java.util.Scanner;
class EchoLine {
   public static void main(String args[]){
      Scanner myScanner= new Scanner(System.in);
      /*System.out.println(myScanner.nextLine());*/
      System.out.println(myScanner.findInLine(".").charAt(1));
      
   }
}
no se si sera un error gordo o tonto, pero yo segun el manual si utilizas myScanner  y findInline buscas e imprimes por pantalla si el segundo valor de array tiene un punto.
es decir que si escribo por ejemplo pepe 8.5
me deberia escribir 8.5
pero me sale el siguiente error
epe 8.5
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 1
    at java.lang.String.charAt(String.java:687)
    at EchoLine.main(EchoLine.java:6)
que no entiendo he buscado en internet y no encuentro nada o por lo menos nada que me aclare.
pero si pongo todo lo anterior y escribo System.out.println(myScanner.findInLine(".").charAt(0));

La cosa es que funciona y si escribo 8.5  pepe me sale por pantalla 8.5

tambien no me funciona lo siguiente
import java.util.Scanner;
class EchoLine {
   public static void main(String args[]){
      Scanner myScanner= new Scanner(System.in);
      /*System.out.println(myScanner.nextLine());*/
      System.out.println(myScanner.nextInt());
      
   }
}
yo lo quiero es que si escribo pepe 1 me saque por pantalla 1 solamente
me aparece el siguiente mensaje de error
Exception in thread "main" java.util.InputMismatchException
    at java.util.Scanner.throwFor(Scanner.java:840)
    at java.util.Scanner.next(Scanner.java:1461)
    at java.util.Scanner.nextInt(Scanner.java:2091)
    at java.util.Scanner.nextInt(Scanner.java:2050)
    at EchoLine.main(EchoLine.java:6)

Process completed.

¿me podria alguien ayudar? no se si sera un error muy basico pero la verdad llevo dos dias en java, y no encuentro el error.
alguien me puede ayudar
gracias



En línea

sapito169


Desconectado Desconectado

Mensajes: 628



Ver Perfil
Re: NOVATA PIDE AYUDA en programa de java
« Respuesta #1 en: 19 Septiembre 2008, 00:46 am »

bueno para ser franco yo no uso la consola tube la malasuerte de que em enseñara solo gui y ai me acostumbre
bueno esplicandote cuando java encuentra un error abeses es capas de identificar y decirte cual es el error solo que te lo dice en ingles com oen este caso si te ponen

Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 1
    at java.lang.String.charAt(String.java:687)
    at EchoLine.main(EchoLine.java:6)

traduciendo

eror en timpo de ejecucion "principal(manin)" java.lang.StringIndexOutOfBoundsException(excepción de fuera del rango de la cadena): cadena fuera del rango por un valor los errores se ubican en:
    at java.lang.String.charAt(String.java:687)
    at EchoLine.main(EchoLine.java:6)

te recomiendo que cuando te salga una excepción lo pongas en el traductor de google y procures estar memorisando las esepciones

el problema seguramente es por que en la linea

System.out.println(myScanner.findInLine(".").charAt(1));

el charat(1) no en encuentra el segundo caracter de isquierda a derecha dije segundo no primero recuerda que java el 99 porciento de las veces comiensa a contar desde 0



En línea

dvd1975

Desconectado Desconectado

Mensajes: 24


Ver Perfil
Re: NOVATA PIDE AYUDA en programa de java
« Respuesta #2 en: 22 Septiembre 2008, 12:59 pm »

¿que es mejor programa para estudiar java o jcreator?
Escribir mas comentarios sobre porque no funciona mi programa
« Última modificación: 22 Septiembre 2008, 13:06 pm por dvd1975 » En línea

-Ramc-


Desconectado Desconectado

Mensajes: 495



Ver Perfil
Re: NOVATA PIDE AYUDA en programa de java
« Respuesta #3 en: 22 Septiembre 2008, 17:58 pm »

Yo prefiero escribir mi code a mano con gedit, kdevelop o similares, pero, si quieres un ide, te recomiendo eclipse, es el que mas use y me parece excelente vendran otros que te diran otro ide, pero, es mas por gustos, yo te recomiendo eclipse o que escribas a mano con lo cual aprendes mucho mas que con un ide que te escribe parte del código.

Por cierto, escriban el codigo entre etiquetas:
Código:
[code=java]
Porque no me dio ganas ni de leerlo así.[/code]
En línea


Shhh... be vewy, vewy, quiet!  I'm hunting wabbits...
LA PANDILLA MAS GRANDE DE MI CIUDAD, SE LLAMA POLICIA NACIONAL.
dvd1975

Desconectado Desconectado

Mensajes: 24


Ver Perfil
Re: NOVATA PIDE AYUDA en programa de java
« Respuesta #4 en: 2 Octubre 2008, 11:14 am »

ya solucione lo anterior pero no me funciona este programa

import java.util.Scanner;
 class billete {

    public static void main(String args[])  {
       Scanner myScanner=new Scanner(System.in);
       int edad;
       char resp;
       double precio=0.00;
       System.out.print("Introduzca edad  ");
       edad=myScanner.nextInt();
       System.out.print("Tienes un cupon");
       resp=myScanner.findInLine(".").charAt(0);
       if(edad>=12 && edad<65)
          precio=9.25;
       if(edad<12 || edad>=65)
          precio=5.25;
       if(resp=='Y' || resp=='y')
          precio-=2.00;
                
       if(resp!='Y' && resp!='y' && resp!='N' && resp!='n')
          System.out.println("ehhh");
       System.out.print("por favor, pago$");
       System.out.print(precio);
       System.out.print(".");
       System.out.println("Diviertase");
       
    }
   
   
}


me parece el siguiente mensaje

Exception in thread "main" java.lang.NullPointerException
    at billete.main(tarifasmayores2.java:20)
he mirado en internet indica que hay un puntero apuntado a nulo es decir que existe un error con la variable resp pero  yo he hecho otro programa cogiendo los valores de la variable resp con myScanner y me funciona asi que no se puede ocurrir alguien me ayuda
En línea

Nakp
casi es
Ex-Staff
*
Desconectado Desconectado

Mensajes: 6.336

he vuelto :)


Ver Perfil WWW
Re: NOVATA PIDE AYUDA en programa de java
« Respuesta #5 en: 2 Octubre 2008, 17:36 pm »

Código
  1. import java.util.Scanner;
  2. class billete {
  3.  
  4.    public static void main(String args[]) throws IOException  {
  5.       Scanner myScanner=new Scanner(System.in);
  6.       int edad;
  7.       char resp;
  8.       double precio=0.00;
  9.       System.out.print("Introduzca edad  ");
  10.       edad=myScanner.nextInt();
  11.       System.out.print("Tienes un cupon");
  12.       resp=myScanner.findInLine(".").charAt(0);
  13.       if(edad>=12 && edad<65)
  14.          precio=9.25;
  15.       if(edad<12 || edad>=65)
  16.          precio=5.25;
  17.       if(resp=='Y' || resp=='y')
  18.          precio-=2.00;
  19.  
  20.       if(resp!='Y' && resp!='y' && resp!='N' && resp!='n')
  21.          System.out.println("ehhh");
  22.       System.out.print("por favor, pago$");
  23.       System.out.print(precio);
  24.       System.out.print(".");
  25.       System.out.println("Diviertase");
  26.  
  27.    }
  28.  
  29.  
  30. }


siempre pon tu código entre [code=java][/code]
« Última modificación: 3 Octubre 2008, 21:20 pm por Nakp » En línea

Ojo por ojo, y el mundo acabará ciego.
dvd1975

Desconectado Desconectado

Mensajes: 24


Ver Perfil
Re: NOVATA PIDE AYUDA en programa de java
« Respuesta #6 en: 3 Octubre 2008, 11:19 am »

yo he puesto lo que tu dices
throws IoException y sigue sin funcionar,
utilizo jcreator
y me dice que tengo un error en la linea

resp=myScanner.finInline---
que
Exception in thread "main" java.lang.NullPointerException
    at billete.main(tarifasmayores2.java:20)
Es decir que apunta a un puntero nulo.
En línea

-Ramc-


Desconectado Desconectado

Mensajes: 495



Ver Perfil
Re: NOVATA PIDE AYUDA en programa de java
« Respuesta #7 en: 3 Octubre 2008, 16:15 pm »

yo he puesto lo que tu dices
throws IoException y sigue sin funcionar,
utilizo jcreator
y me dice que tengo un error en la linea

resp=myScanner.finInline---
que
Exception in thread "main" java.lang.NullPointerException
    at billete.main(tarifasmayores2.java:20)
Es decir que apunta a un puntero nulo.

La excepción es IOException, recuerda que java es case sensitive.
Y el metodo es findInLine.
por si acaso no es eso, dejanos ver tu código, según el error es la linea 20 o cerca,
En línea


Shhh... be vewy, vewy, quiet!  I'm hunting wabbits...
LA PANDILLA MAS GRANDE DE MI CIUDAD, SE LLAMA POLICIA NACIONAL.
dvd1975

Desconectado Desconectado

Mensajes: 24


Ver Perfil
Re: NOVATA PIDE AYUDA en programa de java
« Respuesta #8 en: 4 Octubre 2008, 14:32 pm »

Código
  1. import java.util.Scanner;
  2. class billete {
  3.  
  4.    public static void main(String args[])  {
  5.     Scanner myScanner=new Scanner(System.in);
  6.     int edad;
  7.     char resp;
  8.     double precio=0.00;
  9.     System.out.print("Introduzca edad  ");
  10.     edad=myScanner.nextInt();
  11.     System.out.print("Tienes un cupon");
  12.     resp=myScanner.findInLine(".").charAt(0);
  13.     if(edad>=12 && edad<65)
  14.     precio=9.25;
  15.     if(edad<12 || edad>=65)
  16.     precio=5.25;
  17.     if(resp=='Y' || resp=='y')
  18.     precio-=2.00;
  19.  
  20.     if(resp!='Y' && resp!='y' && resp!='N' && resp!='n')
  21.     System.out.println("ehhh");
  22.     System.out.print("por favor, pago$");
  23.     System.out.print(precio);
  24.     System.out.print(".");
  25.     System.out.println("Diviertase");
  26.  
  27.    }
  28.  
  29.  
  30. }
  31.  
ese el codigo que escrito y me
funcion bien hasta que llega a la linea
resp=myScanner.findInLine(".").charAt(0);
donde me aparece el siguiente error
Exception in thread "main" java.lang.NullPointerException
    at billete.main(tarifasmayores2.java:20)

Si pongo en la linea que me dijisteis

public static void main(String args[]) throws IOException {
me aparece un error
C:\Documents and Settings\Propietario\Mis documentos\curso de java\ejercicios java\tarifasmayores2.java:12: cannot find symbol
symbol  : class IOException
location: class billete
    public static void main(String args[]) throws IOException {

Gracias por ayudarme a ver si me podeis decir entre todos cual es el error
En línea

-Ramc-


Desconectado Desconectado

Mensajes: 495



Ver Perfil
Re: NOVATA PIDE AYUDA en programa de java
« Respuesta #9 en: 4 Octubre 2008, 18:57 pm »

Código:
import java.io.IOException;
En línea


Shhh... be vewy, vewy, quiet!  I'm hunting wabbits...
LA PANDILLA MAS GRANDE DE MI CIUDAD, SE LLAMA POLICIA NACIONAL.
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Ayuda] Novata en Java... :(
Java
DeSsy 2 1,935 Último mensaje 15 Febrero 2011, 17:43 pm
por DeSsy
AYUDA CON PROGRAMA EN JAVA
Java
RADIACTIVO 4 2,836 Último mensaje 19 Octubre 2012, 17:01 pm
por RADIACTIVO
Ayuda programa en java
Ejercicios
SOADOSK 0 2,300 Último mensaje 9 Enero 2013, 01:00 am
por SOADOSK
Ayuda con un programa en java
Ejercicios
NeZeX07 1 3,686 Último mensaje 26 Febrero 2013, 17:49 pm
por 1mpuls0
Ayuda programa Java
Java
CoYoTeDaN 3 2,383 Último mensaje 21 Febrero 2013, 10:21 am
por CoYoTeDaN
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines