问两个问题:
1、下面的代码为什么会出现错误
public class exam{
class Node{
//
}
public static void main(String[] args){
Node p=new Node(); //error
}
}
2、如何实现从控制台读取字符串存入程序中的字符串数组,在控制台输入时以空格为间隔(不能作为main的参数传递)?

解决方案 »

  1.   

    1.  main方法是静态的,所以不能直接new内部类,可以改为
        1) static class Node{ }
        2)exam.Node p=new exam().new Node();
      

  2.   


    import java.util.Scanner;
    public class exam {
    class Node {
    //
    } public static void main(String[] args) {
    exam x = new exam();
    Node p = x.new Node();


    // 实现从控制台读取字符串存入程序中的字符串数组
    String[] arr = new String[100];
    Scanner sc = new Scanner(System.in);
    int i =0;
    while(sc.hasNext()){
    arr[i] = sc.next();
    }   
    }
    }
      

  3.   

    1、下面的代码为什么会出现错误public class exam {
        class Node {
            // 
        }    public static void main(String[] args) {
            exam e = new exam();
            Node p = e.new Node(); // error
        }
    }对于你所定义的内部类,不能直接进行new
      

  4.   

    那个2楼的,好像在控制台无法结束输入?怎么让他在Enter后结束如入