Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java控制台程序中初始化字符串变量?_Java_Console Application - Fatal编程技术网

如何在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(

这是一个java控制台程序,其中有一些字符串变量用于搜索记录并在控制台中显示。
当我执行此程序时,出现错误消息:

错误:变量“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方法。你的整个代码,首先比较,然后给那个布尔值赋值,然后马上检查那个布尔值,这是毫无意义的。最后:你通过点击旁边的复选标记图标来接受答案。写一条评论“我接受答案”并不是其他人真正关心的。。。