【发布时间】:2019-09-21 04:21:03
【问题描述】:
这是关于一个java控制台程序,其中有一些字符串变量用于搜索记录并显示在控制台中。
当我执行这个程序时,会出现错误消息:
错误:变量“变量名”可能尚未初始化。
我想知道如何在 java 控制台程序中初始化字符串变量。代码如下:
Scanner sc=new Scanner(System.in);
String customername;String cname;
String caddress;String cphone
boolean found;
System.out.println("Enter customer name to search records:");
customername=sc.nextLine();
if (customername==cname)
{
found=true;
if(found){
System.out.println("Customer name:"+cname);
System.out.println("Customer address:"+caddress);
System.out.println("Customer phone:"+cphone);}
}
}
在这里,我想搜索保存在文本文件中的记录,并在 cname==customername 时显示记录,但错误告诉字符串变量 cname 它未初始化,对于 caddress 和 cphone 也是如此。
我应该怎么做来初始化字符串变量以及如何做到这一点?
【问题讨论】:
-
您通过为变量赋值来初始化变量。比如:
String someVariable = "initialValue";在 Java 中,在局部变量被赋值之前尝试读取它是错误的。 -
感谢您的回答。问题已经解决了。谢谢
-
另外请注意,永远不要使用 == 来比较字符串。改为调用 equals 方法。
-
还有你的整个代码,首先比较,然后为该布尔值分配一个值,然后立即检查该布尔值,这是荒谬的。
-
最后:您可以通过单击旁边的复选标记图标来接受答案。写评论“我接受答案”并不是其他人真正关心的......