import java.io.*;public class Test1{
 public int t=0;
 private String str="1454785";
 int i = Integer.parseInt(str.substring(3,4));
 String s = String.valueOf(i);
public static void main(String args[]){
   
    System.out.println(new Test1().s);
   }
}

解决方案 »

  1.   

    import java.io.*;public class Test{
     public int t=0;
     private String str="1454785";
     int i = Integer.parseInt(str.substring(3,4));
     String s = i+"";
    public static void main(String args[]){
       Test test1 = new Test();
        System.out.println(test1.s);
       }
    }
      

  2.   

    原来的程序有问题
    Test.java:10: 在静态上下文中不能引用非静态变量 s 
        System.out.println(s);
                           ^
    1 个错误
      

  3.   

    为什么要在main方法中重构造一个test1?
      

  4.   

    static 方法不能引用非静态变量 s
      

  5.   

    原来程序的错误是i.toString()
    i是int,属于基本类型,没有toString()方法
    可以  String s = new Integer(i).toString();还有s不是静态变量,也不是main函数的局部变量,不能直接System.out.println(s)
      

  6.   

    main方法中不能引用非静态变量