package codeCracker;
public class CodeCracker {
private String encrypt;
private int encry;
public CodeCracker(String encryptmelong) {
encrypt = encryptmelong;
}
public String idolnum() {
String in;
in = encrypt;
in = in.replaceAll("\\D+", "");
encry = Integer.valueOf(in);
encrypt = encrypt.replace(in, "");
// System.out.println(encry);
return in;
}
public String encrypt() {
// encrypt+=encry;
String encrypted = "";
String charen = "";
for (int i = 0; i < encrypt.length(); i++) {
charen += encrypt.charAt(i);
// System.out.println(charen.charAt(i));
}
for (int i = 0; i < charen.length(); i++) {
System.out.println(encry);
int temp = Integer.parseInt(idolnum());
System.out.println("" + temp + " " + (int) encrypt.charAt(i));
temp = (int) encrypt.charAt(i) + temp;
encrypted = encrypted + (char) temp;
// System.out.println(encrypted.charAt(i));
}
return encrypted;
}
public String toString() {
return encrypt();
}
public static void main(String[] args) {
CodeCracker code = new CodeCracker("5 encryptme");
System.out.println(code);
}
}
У меня вопрос о шифровании. Предполагается, что эта программа получит строку и число и увеличит каждый символ по этому номеру. Это не работает. Он правильно принимает номер, но не правильно добавляет символы. Я также получаю ошибку исключения в потоке «основной»: для ввода строки: «»NumberFormatException с простым шифрованием
Exception in thread "main" java.lang.NumberFormatException: For input string: "" at
Java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at
java.lang.Integer.parseInt(Integer.java:504) at
java.lang.Integer.valueOf(Integer.java:582) at
codeCracker.CodeCracker.idolnum(CodeCracker.java:15) at
codeCracker.CodeCracker.encrypt(CodeCracker.java:34) at
codeCracker.CodeCracker.toString(CodeCracker.java:44) at
java.lang.String.valueOf(String.java:2854) at
java.io.PrintStream.println(PrintStream.java:821) at
codeCracker.CodeCracker.main(CodeCracker.java:50)
Пожалуйста, разместите весь текст исключения stacktrace и укажите для нас, какая строка его выбрасывает. –
Просто догадайтесь, но, похоже, во втором цикле for, когда вы запускаете 'System.out.println (entry);' в первый раз у вас нет 'encry', установленного на что угодно, что может привести к проблема. – Gliderman
Исключение в потоке "основного" java.lang.NumberFormatException: Для входной строки: "" \t на java.lang.NumberFormatException.forInputString (NumberFormatException.java:65) \t в java.lang.Integer.parseInt (Integer.java : 504) \t на java.lang.Integer.valueOf (Integer.java:582) \t на codeCracker.CodeCracker.idolnum (CodeCracker.java:15) \t в codeCracker.CodeCracker.encrypt (CodeCracker.java:34) \t на codeCracker.CodeCracker.toString (CodeCracker.java:44) \t на java.lang.String.valueOf (String.java:2854) \t в java.io.PrintStream .println (PrintStream.java:821) \t на codeCracker.CodeCracker.main (CodeCracker.java:50) –