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