У меня проблемы с шифрованием кода после 13 символов.Код должен изменить то, что набирается в текстовом поле зашифрованным 13 символами каждый символ.Например, abc
шифруется до nop
.Здесь вопрос. Первая часть вопроса и вторая часть вопроса Метод, который, я считаю, является проблемой.Теперь, я понимаю, я думаю, что это не получает тринадцать символов.
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.input.KeyCode;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;
public class Encrypt13 extends Application {
@Override
public void start(Stage primaryStage) {
// add a gridpane
GridPane grid = new GridPane();
grid.setPadding(new Insets(10, 10, 10, 10));
// add a label for original message top left side
Label label = new Label("Original Message: ");
GridPane.setConstraints(label, 0, 0);
// add label2 for message encrypted
Label label2 =
new Label("Encrpyted Message: ");
GridPane.setConstraints(label2, 0, 2);
// add input of text to be encrypted right side of label
TextField textfield = new TextField();
GridPane.setConstraints(textfield, 2, 0);
// add text that will be event handled below textfield
Label text = new Label();
GridPane.setConstraints(text, 2, 2);
// add it to the parent
grid.getChildren().addAll(label, label2, textfield, text);
// add an event
textfield.setOnKeyPressed(e -> {
// add event with Enter pressed to add arrays compared and added to get 13
// characters
char[] newArray = new char[textfield.getLength()];
if (e.getCode() == KeyCode.ENTER) {
// this is for the array to get the number checked and added to i char
for (int p = 0; p < textfield.getLength(); p++) {
// this is to get the char i start by the typed from the char until the length
// incremented by the method getAllAlpha
// which has all alphabets in parameters of the typed with the p number at the
// charAt
for (char i = textfield.getText().charAt(p); i < textfield.getText().charAt(p) + 1; i += getAllAlpha(textfield.getText(), p)) {
newArray[p] += i;
text.setText(new String (newArray));
}
}
}
});
// set a scene and place show it
Scene scene = new Scene(grid, 400, 400);
primaryStage.setTitle("Encrypt13");
primaryStage.setScene(scene);
primaryStage.show();
}
public static char getAllAlpha(String q, int x) {
String alpha = "";
int i;
for(i = 0; i <= 255; i++)
{
alpha+=(char)i;
}
return alpha.charAt(Character.getNumericValue(q.charAt(x)));
}
public static void main(String[] args) {
Application.launch(args);
}
}