Mein Problem scheint einfach, ich versuche, eine Zeichenfolge in Android zu verschlüsseln.Einfache Encrypt Decrypt String mit Array in Android
Das Ziel des Programms ist, ein Wort oder einen Brief in textbox1 setzen, klicken Sie auf die Schaltfläche Verschlüsseln und TextBox2 sollte das Symbol in der gleichen Position in der zweiten Reihe des Briefes zeigen, dass Sie setzen wenn ich ein Symbol setzen und klicken Sie auf DECRYPT
.
zum Beispiel schreibe ich letter A (array 1 [0])
symbol $ (array 2 [0])
wenn ein Klick auf ENCRYPT
Taste zeigen muss, muss den Brief zeigen, die in der Position des Arrays entspricht
Hilfe brauchen. Entschuldigung für Grammatik und bearbeiten Sie Frage, erstes Mal und kein englischer Sprecher, ich versuchte, es einfacher zu machen.
Arreglo
Klasse, nur für declare 2-Arrays.
package PaqueteArreglo;
public class Arreglo {
public String [] encrypt = new String[3];
public String [] decrypt = new String[3];
}
Hauptaktivität
package com.example.encrypt;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import PaqueteArreglo.Arreglo;
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
//Instance the class with the arrays
PaqueteArreglo.Arreglo ins = new Arreglo();
public Button button1,button2;
public EditText text1, text2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initialize();
ins.encrypt[0] = "a";
ins.encrypt[1] = "b";
ins.encrypt[2] = "c";
ins.decrypt[0] = "$";
ins.decrypt[1] = "%";
ins.decrypt[2] = "&";
}
private void initialize(){
text1 = (EditText)findViewById(R.id.txtWord);
text2 = (EditText)findViewById(R.id.txtResult);
button1 = (Button)findViewById(R.id.btnEncrypt);
button1.setOnClickListener(this);
button2 =(Button)findViewById(R.id.btnDecrypt);
button2.setOnClickListener(this);
}
@Override
public void onClick(View view) {
String word = String.valueOf(this.text1.getText());
if (view.getId() == R.id.btnEncrypt)
{
String demo = "";
int lon = 0;
lon = word.length();
for (int i = 0; i < lon; i++)
{
if (ins.encrypt[i].equalsIgnoreCase(String.valueOf(word.charAt(i))))
{
demo = demo + ins.decrypt[i];
text2.setText(demo);
}
}
}
}
}
Sie sollten wahrscheinlich eine Art Karte wie eine HashMap verwenden, um Ihr Verschlüsselungszeichen dem passenden Entschlüsselungszeichen zuzuordnen. Auch ist es unklar, was das spezifische Problem ist, das Sie haben. Könnten Sie die Frage etwas abklären? –
Vielen Dank für die Antwort, ich bearbeite die Frage für eine Erklärung einfacher, und ich weiß nicht zu verwenden (und zu diesem Zweck nicht brauchen) HashMap, ich brauche das Problem mit dieser Methode zu lösen, danke. –
Bitte bearbeiten, um die 'Arreglo' Klasse anzuzeigen –