Problemas com Strings

3 respostas
A

Eu tenho uma String, e quero comparar ela com um caractere alfabetico ou um número. Por exemplo:

public class testeString{ 
public static void main(String args[]){ 
System.out.println(comptexto(args,0)); //Compara o indice 0 do array args com um texto. Se for, retorna o texto. 
System.out.println(compdigito(args,1)); //Compara o indice 1 do array args com um número. Se for, retorna o número. 
} 
}

Quero saber como fazer a classe comptexto e compdigito. Em C, eu sei:

char comptexto();
char texto;
int main(){
texto = getchar();
printf("Foi escrito %c",comptexto);
return 0;
}
char comptexto(){
if(texto !isalpha){
printf("ERRO: TEXTO ERA ESPERADO");
exit(1);
}
char palavra;
palavra = texto;
return palavra;
}

Em C,o compdigito seria diferente no:

if(texto !isdigit)

Em Java, eu preciso que seja no array de string args. E, se não for o pedido, quero saber como faço para apareçer “Erro: texto era esperado” ou “Erro: inteiro era esperado”.

3 Respostas

Allan_Barcelos

O cara para compara se é uma letra ou um digito tu pode fazer assim:

private String limpa(String linha){
		
		String linha2 = "";
		char digit;
		
		for(int i = 0; i < linha.length(); i++){
			if(Character.isLetterOrDigit(linha.charAt(i))){// para saber se é uma letra ou numero
				digit = linha.charAt(i);
				linha2 += digit;
			}
		}
		
		return linha2;
	}

Assim tu verificaria a tua linha e te devolveria uma string contendo só as letras e numeros

gpd38

Concordo com o Allan.
Post apagado( :smiley: )

_fs

Eu entendi que você quer verificar se uma string contém apenas letras ou números.

Se for isso:

System.out.println("asd".matches("[a-zA-Z]+")); // true
System.out.println("asd1".matches("[a-zA-Z]+")); // false
System.out.println("asd_qwe".matches("[a-zA-Z]+")); // false
System.out.println("asd_qwe".matches("[^0-9]+")); // true
System.out.println("asd_qwe".matches("[^\d]+")); // true, mesmo que acima [0-9] = \d
System.out.println("123".matches("\d+")); // true
System.out.println("asd".matches("\d+")); // false
Criado 6 de maio de 2010
Ultima resposta 6 de mai. de 2010
Respostas 3
Participantes 4