Java 运行时字符串中的Char Append错误变量可能尚未初始化
例如,如果要在For循环结束后打印密码字符串,我遇到一个错误:Java 运行时字符串中的Char Append错误变量可能尚未初始化,java,string,Java,String,例如,如果要在For循环结束后打印密码字符串,我遇到一个错误: 您需要更改此设置以内联方式查看我的评论: for(int j=0; j<allChar.length(); j++) { if(allChar.charAt(j) == a) { char c= allChar.charAt(j+key); String cipher = "null"+c; System.out.print
您需要更改此设置以内联方式查看我的评论:
for(int j=0; j<allChar.length(); j++)
{
if(allChar.charAt(j) == a)
{
char c= allChar.charAt(j+key);
String cipher = "null"+c;
System.out.print("\t"+c );
}
System.out.println(cipher);
// cipher is not defined / initialzed here.
// this is not the "end" of the loop but within its body,
// thus prints on every iteration
}
致:
运行ATBASH密码的代码谢谢帮助亲爱的
import java.util.Scanner;
class Asif
{
public static void main(String args[])
{
String allchar = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
Scanner a= new Scanner(System.in);
System.out.println("Enter the plainText For Cipher here ");
String plainText=a.nextLine();
plainText=plainText.replaceAll(" ", "");
plainText=plainText.toUpperCase();
int len= plainText.length();
int len1 = allchar.length();
String cipher="";
for(int i=0; i<len; i++)
{
char b=plainText.charAt(i);
for(int j=0; j<26; j++)
{
char c=allchar.charAt(j);
if(c == b )
{
int index=allchar.indexOf(c);
int position=25-index;
cipher+= allchar.charAt(position);
break;
}
}
}
System.out.println(cipher);
}
}
你能发布完整的错误消息吗?先生,我得到了一个要点,我没有在for循环之前初始化密码字符串,我在for循环的边界中定义了字符串,这就是为什么当我想访问它的边界外,那么它是给一个错误谢谢你的评论…请保留问题,当你的问题解决时。只需接受帮助您解决问题的答案。@Tom我有一个问题,您能回答我吗???如果您还有其他问题,请单击右上角的“提问”按钮创建一个问题。所以,在问题解决后,请不要再改变你的问题。这不是Stackoverflow的工作原理。回答很好Axel先生,我很明白你的意思,但还有一个小问题。你能帮我发布一个答案吗?一个ATBASH密码的代码,但它给出了一个错误。你能帮我检查一下吗?先生,我有一个问题,你在吗?你应该以新问题的形式发布新问题。不作为自我评论或自我回答,以便社区可以查看和参与@AxelAmthor我不认为这是一个问题。这更有可能是他现在使用的完整代码。还有另一个答案,是一个新问题,但现在被删除了。先生,这次我的问题是关于java手写控制识别器的,我想知道一些方向,你能帮我吗???@AxelAmthor好的,那么请给我看一句话,我在这个答案中有一个问题。当你搜索时,请重新思考我的句子还有另一个答案是一个新问题,但现在被删除了。。他的第二个答案是关于他的新问题,但现在被删除了。这与这个答案无关。我们同时有两个答案:就在你的帖子上方和OP的自我回答中
cipher = ""; // initalize cipher
for(int j = 0; j < allChar.length(); j++)
{
if(allChar.charAt(j) == a)
{
char c= allChar.charAt(j + key);
cipher += "null"+c; // don't know the logic here!
System.out.print("\t" + c);
}
}
System.out.println(cipher); // print result after loop
import java.util.Scanner;
class Asif
{
public static void main(String args[])
{
String allchar = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
Scanner a= new Scanner(System.in);
System.out.println("Enter the plainText For Cipher here ");
String plainText=a.nextLine();
plainText=plainText.replaceAll(" ", "");
plainText=plainText.toUpperCase();
int len= plainText.length();
int len1 = allchar.length();
String cipher="";
for(int i=0; i<len; i++)
{
char b=plainText.charAt(i);
for(int j=0; j<26; j++)
{
char c=allchar.charAt(j);
if(c == b )
{
int index=allchar.indexOf(c);
int position=25-index;
cipher+= allchar.charAt(position);
break;
}
}
}
System.out.println(cipher);
}
}