我一直在尝试创建一个基本的奇数/偶数转换密码,到目前为止,在我运行它之前,我没有看到可见的错误,但是在我尝试运行它之后, m告诉我们有一个空指针异常。试图在java中创建一个简单的转换密码
Exception in thread "main" java.lang.NullPointerException
at Encryption.cypher(Encryption.java:18)
at EncryptionDemo.main(EncryptionDemo.java:10)
据说这是因为我还没有初始化一些变量或另一个,但我相信我已经。这是我的代码,并感谢您给出的任何建议。
import java.util.Scanner;
public class Encryption {
protected int shift = 3;
protected int shift2 = 5;
protected char c = 'a';
protected String ms;
protected int len;
protected void InputMessage() {
Scanner kb = new Scanner(System.in);
System.out.println("Enter your plaintext.");
String ms = kb.nextLine();
}
protected String cypher() {
**int len = ms.length();**
for (len = 0; len < ms.length(); len++) {
c = (char) (ms.charAt(len));
if ((boolean) (ms.charAt(len) % 2 == 0)) {
c = (char) (ms.charAt(len + shift));
} else {
c = (char) (ms.charAt(len + shift2));
}
c = (char) ms.charAt(len);
}
return ms;
}
protected String decypher() {
int len = ms.length();
for (len = 0; len < ms.length(); len++) {
c = (char) (ms.charAt(len));
if ((boolean) (ms.charAt(len) % 2 == 0)) {
c = (char) (ms.charAt(len - shift));
} else {
c = (char) (ms.charAt(len - shift2));
}
c = (char) ms.charAt(len);
}
return ms;
}
protected void output() {
System.out.println("" + (ms));
}
}
import java.util.Scanner;
public class EncryptionDemo {
public static void main(String[] args) {
char[] array = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz_"
.toCharArray();
Encryption message = new Encryption();
message.InputMessage();
**message.cypher();**
message.output();
}
}
的可能重复[什么是空指针异常,和我如何解决它?](http://stackoverflow.com/questions/218384/what-is-a-null-pointer-exception-and-how-do-i-fix-it) –
你有意不是在你的'cypher'和'decypher'方法中更改'ms'?你只更新'c'。 –
提示:如果您给出一个堆栈轨迹以显示出现问题的行号,那么指出这些行是哪一行是非常有用的,例如, '//这是第18行或'// NPE发生在这里! –