VB para JAVA

2 respostas
C

Pessoal, estou com um problema…

Preciso da Cifra de César em JAVA, mas não manjo nada de JAVA…

Eu fiz ela em Visual Basic…

Será que alguém poderia dar uma força para converter para JAVA?

Segue abaixo o código…

Dim texto As String
Dim cifra As Integer
Dim T2(100) As String
Dim AlfaX As String

AlfaX = " ABCDEFGHIJKLMNOPQRSTUVWXYZ"

texto = InputBox("Digite o Texto:", "Texto")
cifra = InputBox("Digite a Cifra:", "Cifra")

For letra = 1 To Len(texto)
        caracter = Mid(texto, letra, 1)
        pcaracter = 1
        While caracter <> Mid(AlfaX, pcaracter, 1)
            pcaracter = pcaracter + 1
        Wend
        desloca = (pcaracter + cifra) Mod 138
        T2(linha) = T2(linha) & Mid(AlfaX, desloca, 1)
Next
MsgBox "O texto original é: " & texto & vbCrLf & vbCrLf & " O Texto cifrado é: " & T2(linha)

2 Respostas

ViniGodoy

Dica. Calcule em cima da tabela ascii e você não vai precisar do AlphaX. Isso pode ser feito mesmo em VB, usando as funções Asc e Ord, se não me engano.

public class Caesar { public static void main(String args[]) { String texto = JOptionPane.showInputDialog(null, "Digite o texto:").toUpperCase(); int cifra = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite a cifra:")); StringBuilder cifrado = new StringBuilder(); for (int i = 0; i &lt texto.length(); i++) { int ch = texto.charAt(i); ch = ((ch-65 + cifra) % 26)+ 65; cifrado.append((char)ch); } JOptionPane.showMessageDialog(null, "<html>O texto original é" + texto + "<br>O texto cifrado é: " + cifrado.toString()); } }

C

ViniGodoy,

valeu cara!!!

Vou dar uma olhada nessa parada que vc disse sobre o Asc e Ord.

Abrass

Criado 2 de junho de 2007
Ultima resposta 3 de jun. de 2007
Respostas 2
Participantes 2