Duvida sobre strings[resolvido]

6 respostas
R

ola pessoal alguem podia ma ajudar? gostaria de saber o pq essa classe que fiz
naujm esta devolvendo o caracter em maiuscula, que é o que desejo, ele esta devolvendo um endereço de memoria!
se puderem executem para verificar.

class maiorMenorCaracter{
  
  boolean eLetraMinuscula (char c)
  {
    return ((c >= 'a') && (c <= 'z')) ;
  }
  boolean eLetraMaiuscula (char c)
  {
    return ((c >= 'A') && (c <= 'Z')) ;
  }
  char minusculaParaMaiuscula (char c)
  {
    if (eLetraMaiuscula(c))
      return c;
    else if (eLetraMinuscula(c))
    {
      int deslocamento = 32; //Nem é necessário lembrar quem é maior!!!
       return (char)(c+deslocamento);
    }
    else {
      System.out.println("Caractere inválido!");
      return '\u0000';
    }
  }
 }

obrigado

6 Respostas

F

Opa,

Tente subtrair 32 ao invés de somar.

Acho que isso vai te jogar a o range de caracteres maiúsculos.

Não testei mas acho que aí vai funcionar.

Boa sorte.

luciano2

Cara as letras minusculas são Maiores que as maiusculas. Para passar de Maiuscula para minuscula você tem que subtrair.

A = 65
a = 97

B

Se você estiver fazendo essa classe só pra aprender a programar, tudo bem, mas se for algo profissional, o Character já faz tudo isso.

R

então bruno sim é só para estudar mesmo cara, e é isso mesmo que quero pessoal nesse medo minusculaParaMaiuscula, dado um caracter minusculo quero que devolva maiusculo, mas ele esta devolvendo tipo um ponteiro, eu acho que é não dizer bem o q siginifica isso -> [].
obrigado , aguardo sugestões!

F

Cara eu fiz alguma coisa com sua classe um pequeno teste aqui.

Funcionou. Veja como você está imprimindo na tela.

class maiorMenorCaracter{  
	static boolean eLetraMinuscula (char c) {  
		return ((c >= 'a') && (c <= 'z')) ;  
   }  
   
	static boolean eLetraMaiuscula (char c){  
		return ((c >= 'A') && (c <= 'Z')) ;  
	}  
	
	static char minusculaParaMaiuscula (char c){  
		if (eLetraMaiuscula(c))  
			return c;  
		else if (eLetraMinuscula(c)){
			int  deslocamento = 32; //Nem é necessário lembrar quem é maior!!!  
			return (char)(c-deslocamento);  
		}else {  
			System.out.println("Caractere inválido!");  
			return '\u0000';  
		}  
	}  
	
	public static void main(String[] args){
		System.out.println(minusculaParaMaiuscula('z'));
	}
}

Abraço.

R

pow valew fasagri, ajudou muito obrigado pela força pessoal
eu nem me toquei desse lance ai da diferença, obrigado!!

Criado 29 de abril de 2010
Ultima resposta 29 de abr. de 2010
Respostas 6
Participantes 4