Apanhar um inteiro numa string

10 respostas
Z

ae pessoal

alguem me ajuda pf??
tenho uma String chamada linha com este conteudo “

3”
e estou tentando capurar so o “3”
entao pensava que dava dessa forma:
int n=Integer.parseInt(linha);

mas da o seguinte erro
Exception in thread “main” java.lang.NumberFormatException: For input string: “

3”
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:447)
at java.lang.Integer.parseInt(Integer.java:497)
at proj_LAPR1.Main.main(Main.java:24)
Java Result: 1

alguem me indica o que tou fazendo mal?
Brigado

10 Respostas

Raff

ai cara da um olhada na classe Scanner

B

zezito555:
alguem me indica o que tou fazendo mal?
parseint só funciona se a string só tiver número.

Raff:
ai cara da um olhada na classe Scanner
o que o scanner tem a ver com isso/

Foxlol

Bruno Laturner:
zezito555:
alguem me indica o que tou fazendo mal?
parseint só funciona se a string só tiver número.

Opa tem mto a ver:

http://java.sun.com/j2se/1.5.0/docs/api/java/util/Scanner.html

Raff

cara com o Scanner da para ele tirar somente o numero 3 dentro da String. Utilizando os metodos hasNextXXX e hasNextxxx . Olhe a API antes de falar!

Raff

Foxlol:
Bruno Laturner:
zezito555:
alguem me indica o que tou fazendo mal?
parseint só funciona se a string só tiver número.

Opa tem mto a ver:

http://java.sun.com/j2se/1.5.0/docs/api/java/util/Scanner.html

Vi que vc entede :slight_smile:

Raff

Ai segue um exemplo considerando que entre o numero inteiro contenha espaço.

Scanner  scan = new Scanner("<tr><td> 3 </td></tr>").useDelimiter(" ");
        while(scan.hasNext()){
            
            if(scan.hasNextInt()){
                
                System.out.println(scan.nextInt());
            
            }
            scan.next();
        
        }
Foxlol

Raff:
Foxlol:
Bruno Laturner:
zezito555:
alguem me indica o que tou fazendo mal?
parseint só funciona se a string só tiver número.

Opa tem mto a ver:

http://java.sun.com/j2se/1.5.0/docs/api/java/util/Scanner.html

Vi que vc entede :slight_smile:

Hahahaha :smiley:

Então zezito, ai vai um exemplo que você pode utilizar pra esse caso:

import java.util.Scanner;

class TesteScanner {

	public static void main(String args[]) {
		String entrada = "<tr><td>3</td></tr>";
		Scanner sc = new Scanner(entrada);
		
		System.out.println(sc.findInLine("[0-9]"));
	}

}

O argumento passado para o método findInLine é uma expressão regular.

[]'s

Z

meus amigos
Brigadao por tao rapidas respostas…mas sao 3da manha aki em portugal qui eu vou dormir, amanha analiso vossas sugestoes

Muito obrigado mesmo!

B

Foxlol:
Hahahaha :smiley:

Então zezito, ai vai um exemplo que você pode utilizar pra esse caso:

import java.util.Scanner;

class TesteScanner {

	public static void main(String args[]) {
		String entrada = "<tr><td>3</td></tr>";
		Scanner sc = new Scanner(entrada);
		
		System.out.println(sc.findInLine("[0-9]"));
	}

}

O argumento passado para o método findInLine é uma expressão regular.

Interessante, eu só usava scanner p/ linha de comando. Bom saber dessas outras opções.

Z

Bem esse ultimo exemplo funciona mil maravilhas!!!
BRIGADAO PRA VCS TODOS !! VLW :smiley:

Criado 12 de agosto de 2008
Ultima resposta 13 de ago. de 2008
Respostas 10
Participantes 4