Como solucionar?

8 respostas
C

Pessoal,

Veja a pergunta abaixo:
Criar um projeto usando o NetBeans, chamado Minimaratona01. Crie uma classe dentro deste projeto chamada Cripto para efetuar o seguinte processamento:

  • Solicitar que o usuário digite uma palavra.

  • Retornar a palavra criptografada da seguinte forma:

  • Cada letra informada tem um número associado, exemplo: carro => c = 03, a = 01, r =
    17, o=14 => resultado da palavra carro = [telefone removido]

  • Tabela de Referência: a=01, b=02, c=03, d=04, e=05, f=06, g=07, h=08, i=09, j=10, l=11,
    m=12, n=13, o=14, p=15, q=16, r=17, s=18, t=19, u=20, v=21, x=22, z=23.

E eu respondi alguns porém não estou conseguindo e veja abaixo:

public class Main {

public static void main(String[] args) {
    
    int a = 5; 
    int b = 7;
    int c = 9;
   
    int[] numeros = new int[tamanho]; 

      for(int i=0; i<tamanho; i++){

      numeros[i] = Integer.parseInt(JOptionPane.showInputDialog(
              "Insira o "+(i+1)+" carro:" ));
    } 
    //Integer.parseInt()  

    for (int i = 0; i < numeros.length-1; i++) {
            for (int j = 0; j < numeros.length-1; j++) {
                if (numeros[j] > numeros[j+1]) {
                swap(numeros, j, j+1);
                }
            }
    }

    String msg = "Ordenados: ";
    for(int i = 0; i < tamanho; i++){
      msg += numeros[i] + " ";
    }
    JOptionPane.showMessageDialog(null, msg);

}

static void swap(int[] a, int i, int j) {

int temp = a[i];

a[i] = a[j];

a[j] = temp;

}

}

8 Respostas

C

Minha resposta está correta???

C

Pessoal,

Olhe minha resposta está correta???

import javax.swing.JOptionPane;

public class Cripto {

public static void main(String[] args) {
	
        String palavraDigitada = JOptionPane.showInputDialog( 
                null," Digite a palavra" );
	
        int tamanhoPalavra = palavraDigitada.length();
	
	String cripto=" ";
	
	for ( int i = 0; i<= tamanhoPalavra - 1; i++ ){
			      
		if ( palavraDigitada.charAt(i) == 'a' ){
			cripto+="01";
                        }
                       		
		else {if ( palavraDigitada.charAt(i) == 'b' ){
			cripto+="02";
			
		}			
		}
					 
                    if ( palavraDigitada.charAt(i) == 'c' ){
			cripto+="03";
			
                     }
		
                    else {if ( palavraDigitada.charAt(i) == 'd' ){
			cripto+="04";
			
		}
		}
		
                    if ( palavraDigitada.charAt(i) == 'e' ){
			cripto+="05";
						
		}
				
		else {if ( palavraDigitada.charAt(i) == 'f' ){
			cripto+="06";
			
		}
		}
		
                    if ( palavraDigitada.charAt(i) == 'g' ){
			cripto+="07";
						
		}
		
		else { if ( palavraDigitada.charAt(i) == 'h' ){
			cripto+="08";
			
		}
		}	
			
		if ( palavraDigitada.charAt(i) == 'i' ){
			cripto+="09";
			
		}
		
		else {if ( palavraDigitada.charAt(i) == 'j' ){
			cripto+="10";
			
		}
		}	
		
		if ( palavraDigitada.charAt(i) == 'l' ){
			cripto+="11";
						
		}
		
		else { if ( palavraDigitada.charAt(i) == 'm' ){
			cripto+="12";
					
		}
		}	
		
		
		if ( palavraDigitada.charAt(i) == 'n' ){
			cripto+="13";
			
		}
					
		else {if ( palavraDigitada.charAt(i) == 'o' ){
			cripto+="14";
			
		}
		}	
					
		if ( palavraDigitada.charAt(i) == 'p' ){
			cripto+="15";
			
		}
					
		else {if ( palavraDigitada.charAt(i) == 'q' ){
			cripto+="16";
					
		}
		}	
		
		if ( palavraDigitada.charAt(i) == 'r' ){
			cripto+="17";
			
		}
					
		else {if ( palavraDigitada.charAt(i) == 's' ){
			cripto+="18";
						
		}
		}	
		
                    if ( palavraDigitada.charAt(i) == 't' ){
			cripto+="19";		
                    }
	
                    else {if ( palavraDigitada.charAt(i) == 'u' ){
			cripto+="20";
						
		}
		}
                    
                    if ( palavraDigitada.charAt(i) == 'v' ){
			cripto+="21";		
                    }
                    
                     else {if ( palavraDigitada.charAt(i) == 'x' ){
			cripto+="22";
						
		}
		}
                    
                    if ( palavraDigitada.charAt(i) == 'z' ){
			cripto+="23";		
                    }
                    
	System.out.println(cripto);
			
}

}

CrOnNoS

Coloque seu código entre as tags CODE clicando no botão Code enquanto você está digitando a resposta [ code][ /code] (sem espaço).
Ao invés de colocar 3 post seguidos, utilize o botão “Edit” no seu útimo post.
Seu programa está rodando ? A resposta do útimo print foi a desejada ? Se sim então ele está fazendo o que você quer. Se não, tente ajeita-lo e se ficar com alguma dúvida sinta-se livre para perguntar

Felagund

Vamos eliminar esses ifs?

vamos fazer algo assim

Map<Character, String> mapa = new HasMap<Character, String>
mapa.put('a', "01");
mapa.put('b', "02");
//Assim vai
char[] chars = entrada.toCharArray();
String cripto = "";
for(char ch : chars){
   cripto += mapa.get(ch);
}
System.out.println(cripto);

ao meu ver um tanto mais intuitivo :slight_smile:
Poderia até usar um enum também.

[]'s

Jairo_Junior1

Felagund:
Vamos eliminar esses ifs?

vamos fazer algo assim

Map<Character, String> mapa = new HasMap<Character, String>
mapa.put('a', "01");
mapa.put('b', "02");
//Assim vai
char[] chars = entrada.toCharArray();
String cripto = "";
for(char ch : chars){
   cripto += mapa.get(ch);
}
System.out.println(cripto);

ao meu ver um tanto mais intuitivo :slight_smile:
Poderia até usar um enum também.

[]'s


Um entrada.toLowerCase e um laço for para preencher o Map não seria bom também? :smiley:

Polimorphism

Felagund:
Vamos eliminar esses ifs?

vamos fazer algo assim

Map<Character, String> mapa = new HasMap<Character, String>
mapa.put('a', "01");
mapa.put('b', "02");
//Assim vai
char[] chars = entrada.toCharArray();
String cripto = "";
for(char ch : chars){
   cripto += mapa.get(ch);
}
System.out.println(cripto);

ao meu ver um tanto mais intuitivo :slight_smile:
Poderia até usar um enum também.

[]'s

Isso não fica mais curto? =D ( Minha opinião não vale já que não sei usar maps )

public static int[] paraNúmeros ( String emLetras ){
  String alfabeto = "abcdefghijklmnopqrstuvwxyz";
  int[] intArray = new int[ emLetras.length() ];
  for ( int c = 0 ; c < emLetras.length() ; c++ ){
    for ( int a = 0 ; a < alfabeto.length() ; a++ ){
      if ( emLetras.charAt( c ) == alfabeto.charAt( a ) )
        intArray[c] = a + 1;
      }
    }
  return intArray;
  }
Polimorphism

Depois use isso para passar pra string.

String emNumeros = "";
for ( int a = 0 ; a < intArray.length ; a++ ){
  emNumberos = emNumberos.concat( String.format( "%02d", intArray[a] ));}
C

Eu quase finalizei, mas está dando um erro e veja abaixo que está correto???

JOptionPane.showMessageDialog( null, + criptografada );

Criado 24 de agosto de 2009
Ultima resposta 25 de ago. de 2009
Respostas 8
Participantes 5