为什么这种Java Scanner方法适用于代码2而不是代码1?

时间:2017-12-09 08:20:46

标签: java java.util.scanner

是什么原因?为什么代码2工作而代码1显示错误?
我第一次使用代码1方法..显示错误然后我尝试在一个方法中添加它..以某种方式工作..请让我知道原因

代码1:

import java.util.*;
class alpha /*This is not the main class btw */
{
   Scanner x=new Scanner(System.in);
   int k;flag=0;
   String s1=new String();
   s1=x.nextLine(); /* This Line Produces error */
}

代码2:

import java.util.*;
class alpha /*This is not the main class btw */
{
   Scanner x=new Scanner(System.in);
   int k;flag=0;
   String s1=new String();
   void input()
   {
     s1=x.nextLine(); /* Voila this works */
   }
}

1 个答案:

答案 0 :(得分:1)

你的第一个例子没有运行,因为我们不能把语句放在任何方法之外,我们只能把声明和初始化器放在像

之类的方法之外

int x = 5;

Hello h = new Hello;

这就是你的第一个例子出现错误的原因

您不应将s1=x.nextLine();之类的语句置于任何方法之外。