Título: NOVATA PIDE AYUDA en programa de java Publicado por: dvd1975 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 Título: Re: NOVATA PIDE AYUDA en programa de java Publicado por: sapito169 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 Título: Re: NOVATA PIDE AYUDA en programa de java Publicado por: dvd1975 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 Título: Re: NOVATA PIDE AYUDA en programa de java Publicado por: -Ramc- 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] Título: Re: NOVATA PIDE AYUDA en programa de java Publicado por: dvd1975 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 Título: Re: NOVATA PIDE AYUDA en programa de java Publicado por: Nakp en 2 Octubre 2008, 17:36 pm Código
siempre pon tu código entre [code=java][/code] Título: Re: NOVATA PIDE AYUDA en programa de java Publicado por: dvd1975 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. Título: Re: NOVATA PIDE AYUDA en programa de java Publicado por: -Ramc- en 3 Octubre 2008, 16:15 pm yo he puesto lo que tu dices La excepción es IOException, recuerda que java es case sensitive.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. 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, Título: Re: NOVATA PIDE AYUDA en programa de java Publicado por: dvd1975 en 4 Octubre 2008, 14:32 pm Código 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 Título: Re: NOVATA PIDE AYUDA en programa de java Publicado por: -Ramc- en 4 Octubre 2008, 18:57 pm Código: import java.io.IOException; Título: Re: NOVATA PIDE AYUDA en programa de java Publicado por: dvd1975 en 4 Octubre 2008, 22:34 pm hola he puesto.
Código
y solamante import java.io.IOException; y sigue sin funcionar me sigue apareciendo el mensaje Exception in thread "main" java.lang.NullPointerException at billete.main(tarifasmayores2.java:20) es decir tengo un error en la linea resp=myScanner.findInLine("."),chatAt(0); Título: Re: NOVATA PIDE AYUDA en programa de java Publicado por: -Ramc- en 5 Octubre 2008, 00:38 am La verdad es que no trabajo mucho con la clase Scanner, pero, haciendo pruebas, si antes de llegar a esa linea, vuelves a instanciar myScanner
Código: System.out.print("Tienes un cupon"); No da error, al parecer es que el buffer no esta limpio y toma tu primera entrada y también la usa para la segunda, debe haber otra forma mas eficiente, pero, mientras encuentro, esa ya no te da error. Título: Re: NOVATA PIDE AYUDA en programa de java Publicado por: dvd1975 en 14 Octubre 2008, 11:56 am Hola buenos dias estoy realizando este ejercicio en java
Código me aparece el siguiente 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.nextDouble(Scanner.java:2387) at ficheros1.main(ficheros1.java:15) yo tengo que escribir 19.95 5 99.75 es decir el resultado de 19.95*5 entre los dos digitos tiene que haber un espacio pero segun he leido en interenet en ingles Exception in thread "main" java.util.InputMismatchException es que cuando se ejecuta la linea cantidad=myScanner.nextInt(); se espera un numero pero como yo he puesto 5.55espacio6 el espacio produce un error porque el programa espera recibir un entero sin decimales. He probado a escribir 5.55 intro 6 intro pero no me funciona me sigue saliendo el error anterior. y he probado a poner Código
Código y me sigue saliendo el mismo error No se si el error es pequeño pero no quiere seguir adelante hasta saber porque se produce este error para seguir aprendiendo java, y como realizar el programa gracias |