如何在java控制台程序中初始化字符串变量?
这是一个java控制台程序,其中有一些字符串变量用于搜索记录并在控制台中显示。如何在java控制台程序中初始化字符串变量?,java,console-application,Java,Console Application,这是一个java控制台程序,其中有一些字符串变量用于搜索记录并在控制台中显示。 当我执行此程序时,出现错误消息: 错误:变量“variable name”可能尚未初始化 我想知道如何在java控制台程序中初始化字符串变量。代码如下: Scanner sc=new Scanner(System.in); String customername;String cname; String caddress;String cphone boolean found; System.out.println(
当我执行此程序时,出现错误消息: 错误:变量“variable name”可能尚未初始化 我想知道如何在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
未初始化,而且对于cadAddress
和cphone
,我应该如何初始化字符串变量以及如何初始化?如果没有默认值,则可以如下所示将字符串变量初始化为空字符串
Scanner sc=new Scanner(System.in);
String customername = "";
String cname = "";
String caddress = "";
String cphone = "";
boolean found = false;
System.out.println("Enter customer name to search records:");
customername=sc.nextLine();
if (customername.equals(cname))
{
System.out.println("Customer name:"+cname);
System.out.println("Customer address:"+caddress);
System.out.println("Customer phone:"+cphone);
}
谢谢你的回答。问题现在已经解决了。好的,谢谢你想知道如何比较字符串,以避免将这些明显不好的代码复制到你的答案中!是的,我接受你的答案,因为我从你的答案中得到了答案。谢谢,我只是专注于初始化字符串,我没有看到。谢谢你指出这一点。当更新你的答案时,为什么不把整个if块修改成不那么荒谬呢?你可以通过给变量赋值来初始化变量。比如:
stringsomevariable=“initialValue”
在Java中,在为局部变量赋值之前尝试读取它是一个错误。感谢您的回答。问题现在已经解决了。谢谢。请注意,您不应该使用==来比较字符串。改为调用equals方法。你的整个代码,首先比较,然后给那个布尔值赋值,然后马上检查那个布尔值,这是毫无意义的。最后:你通过点击旁边的复选标记图标来接受答案。写一条评论“我接受答案”并不是其他人真正关心的。。。