2015-10-16 49 views
0

无法弄清楚如何解决。我对Java非常陌生。错误:字符串无法解析为变量

import java.util.Scanner; 

public class Greetings { 
    public static void main(String[] args) { 
     System.out.println("Hello there, what is your name? "); 
     Scanner input = new Scanner(System.in); 
     String = input.nextLine(); 
     System.out.println("Well then, welcome to Java" + input); 
    } 
} 
+1

请在此行声明变量,String = input.nextLine();因为你需要存储一个字符串类型的变量。 String s = input.nextLine(); – Kogile

+0

@Unheilig请避免添加不相关的标签,谢谢。 – Tom

回答

0

您从未实际定义过String变量,这就是编译器抱怨的原因。使用下面的代码获得最大结果:

public class Greetings { 
    public static void main(String[] args) { 
     System.out.println("Hello there, what is your name? "); 
     Scanner input = new Scanner(System.in); 
     String theInput = input.nextLine(); 
     System.out.println("Well then, welcome to Java" + theInput); 
     if (input != null) { 
      input.close(); // close the Scanner once finished with it 
     } 
    } 
} 
+0

现在我得到这个错误与您的更改: 1警告发现: [line:11] 警告:资源泄漏:'输入'永远不会关闭 – Sean

+0

如果(input!= null){input.close(); }到主要方法的结尾。理想情况下,你可以在最后一个块中处理这个问题,但在这个阶段我认为你不需要为这些问题烦恼。 –

+0

这是我的荣幸(和义务)来帮助你。 –

0

您没有在第二个系统输出之前放置字符串(变量的名称)的名称。

0

token String引用java.lang包中的对象类型String。 您需要为java提供一个变量名称,以便它可以知道在哪里从内存中获取该特定对象,如果您稍后请求它。你已经使用了正确的语法,用于创建扫描对象,只是它应用到String对象:

String nextLine = input.nextLine(); 

和引用该对象时:

System.out.println("Well then, welcome to Java" + nextLine); 
+0

与此和类似的变化我现在得到这个错误:1警告找到:[line:11]警告:资源泄漏:'输入'是从来没有关闭 – Sean

+0

请参阅我对Tim的回答的评论。 –

0

请在此行中,字符串变量声明= input.nextLine();因为你需要存储一个字符串类型的变量。 String s = input.nextLine();