Troca de caracter

5 respostas
R

ola pessaol , como faço para trocar de posição um inteiro, recebendo dois caracteres , que são digitos, para devolver o maior inteiro na frente do menor
ex sendo caracter um obj da classe caracteres caracter.maiorInteiro(‘5’ , ‘9’); e deve retornar o inteiro 95
fiz isso

class Caracter{
  
  boolean eDigito(char x){
    return ((x >= '0' && x <= '9'));
  }
  
  
  int maiorInteiro(char d1 , char d2){
    
    if((d1 <= d2)){
      
      int a = d1;
      int b = d2;
      int inteiro = b + a;
      return inteiro;
      
    }
    return -1;
  }
}

()

5 Respostas

peczenyj

9 e 5 da 95 se vc fizer

9 * 10 + 5

parece ser um problema de ordenação trivial. E vc vai ter problemas passando de char pra int dessa forma.

R

então mas eu quero pegar colocar dois caracteres , como parametro, e devolver o maior deles na frente! eu entendi o lance do inteiro vou tentar mudar, é que queria um ex de como fazer! obrigado!!

ViniGodoy

int x = 59; int y = (x % 10) * 10 + (x / 10);

ViniGodoy
No teu caso:
class Caracter{  
   boolean eDigito(char x){  
      return ((x >= '0' && x <= '9'));  
   }  

   int maiorInteiro(char c1 , char c2){  
      int d1 = (int)c1; //Precisa de mais continha, leia abaixo
      int d2 = (int)c2; //Precisa de mais continha, leia abaixo

      return d1 > d2 ? (d1 * 10 + d2) : (d2*10 + d1);
   }
}

Só cuidado que para converter o caracter '0' para o número 0 não é tão trivial assim. Imprima o valor de '0' e veja quanto é.
Depois, subtraia esse mesmo valor.

R

ta ok garoto valew a força!!!

Criado 6 de outubro de 2009
Ultima resposta 6 de out. de 2009
Respostas 5
Participantes 3