Teste de caracter

4 respostas
diguix
Caros colegas, estou tentando testar o 1º caracter de um uma palavra q foi inserida em um array de String, com a letra q o usuario entra,e depois listar se der verdadeiro, mas da erro no charAt() o q sera ? O código esta assim:
public String n[]=new String [3];
.....
n[0]="aluno";
n[1]="pai";
n[2]="brasil";

public void procura()
	{
		System.out.println("Entre com a letra do nome para procurar: ");
		letra=in.next();
		
		for(int i=0;i<3;i++)
		{

		AQUI>>>	if(n[i].chartAt(0).equals(letra))
			{
				System.out.println(n[i]);
			}
		}
	}

Obrigado!!!

4 Respostas

peczenyj

para tipos primitivos vc deve usar o operador ==

até porque tipos primitivos - como o retornado por charAt - não tem métodos :wink:

if ( n[i].chartAt(0) == letra )

diguix

Obrigado pela dica, mas eu ja tentei assim tmb,e o problema continuou o erro é no charAt(0). Estou perdidinho… msm assim obrigado!

diego2005

Vê se ajuda:

class Teste
{
	public String n[];
	char letra;

	public Teste()
	{
		n = new String [3];
		
		n[0] = "aluno";
 		n[1] = "pai";
 		n[2] = "brasil";
	}
 
 	public void procura()
 	{
 		letra = 'a';
 		
 		for(int i = 0; i < n.length; i++)
 			for(int j = 0; j < n[i].length(); j++)
 				if(n[i].charAt(j) == letra)
 					System.out.println(n[i]);
 	}
 	
 	public static void main(String[] args)
 	{
 		new Teste().procura();
 	}
}

T+

KWill

Acho que você poderia testar o valor da letra que foi capturada, dando System.out.println, só pra ver se ele está capturando direito, e o método next() do Scanner retorna String e não char. Entom pode ser que fique algo assim:

char letra = in.next().charAt(0);
if(n[i].chartAt(0) == letra)
 			{
 				System.out.println(n[i]);
 			}
Criado 21 de setembro de 2006
Ultima resposta 22 de set. de 2006
Respostas 4
Participantes 4