Manipular com Strings

6 respostas
M

Oi pessoal :
tenho aui o seguinte programa para testar se uma determinada palavra contem ponto(.)
ou nao:

import javax.swing.<em>;

import java.util.</em>;

public class Outro

{
public static void main(String [] args)
	{
		
		
		String input;
		String ponto=".";
		
		
		
		input=JOptionPane.showInputDialog("introduza a palavra");
		
		for(int i=0;i<input.length();i++)
				
		
		
		if((input.charAt(i)).equals(ponto))
		
		System.out.println("Possui  ponto na posicao "+(i+1));
		else
		System.out.println("Nao e atem ponto ");
		
	}
}
			Mas esta a gerar um erro  que diz" char cannot be dereferenced "

6 Respostas

guilherme.chapiewski

O charAt retorna um char e não uma String. Sendo assim vc não pode comprar com equals. Vc tem que comparar bananas com banas e laranjas com laranjas. Dá uma pesquisada aí.

C

Bom dia Mario,
Só alterar a comparação de String para char.
Int+, [code]

Oi pessoal :
tenho aui o seguinte programa para testar se uma determinada palavra contem ponto(.)
ou nao:

import javax.swing.*;
import java.util.*;
public class Outro
{

public static void main(String [] args)
{

String input;
String ponto="."; //Altere de String para Char

input=JOptionPane.showInputDialog("introduza a palavra");

for(int i=0;i

if((input.charAt(i)).equals(ponto))

System.out.println("Possui ponto na posicao "+(i+1));
else
System.out.println("Nao e atem ponto ");

}

andre_udi

ola amigo,

voce pode tambem usar o metodo indexOf.

abraços

marciocamurati

Só para completar existe também a possibilidade de utilizar um REGEXP para fazer a procura dentro de uma string, nesse caso de procura por . talvez não seja realmente a melhor opção já que usando um indexOf() já lhe resolveria mas para pesquisas mais complexas é a melhor escoha.

Para procurar por um . (ponto) o código seria mais ou menos isso:

Pattern pattern = Pattern.compile("[.]");
		
String palavra = "marcio.camurati";
		
Matcher matcher = pattern.matcher(palavra);
		
if (matcher.find())	{
	System.out.println("Palavra com . !");
}	else	{
	System.out.println("Palavra sem . !");
}

[]s

andre_udi

ola amigos,

otima surgestao marcio. axo q pra esse caso, como vc falou, o indexof é + oportuno.
mas regex é mto poderoso, tem coisas + complexas q vc so faz de forma elegante com regex.

abraços a todos

Marky.Vasconcelos

Ou então se quer saber se tem um ponto

usa o .contains(".") na String

Criado 15 de setembro de 2007
Ultima resposta 15 de set. de 2007
Respostas 6
Participantes 6