本人今天晚上定义以下代码
package Text.java;public class textOne {
String[] myString = new String[5];
myString[0]=("我的语文书");
myString[1]=("我的数学书");
myString[2]=("我的英语书");
myString[3]=("我的电脑书");
myString[4]=("我的课外书");

 
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(myString[0];
}}
不能运行,查资料半小时无果,郁闷中,向各位高手提如下问题,先谢谢:
问题一,为什么我不能调用我定义的这个字符串数组myString,问题二,如果我把String[] myString = new String[5];
                                              myString[0]=("我的语文书");
                                              myString[1]=("我的数学书");
                                              myString[2]=("我的英语书");
                                              myString[3]=("我的电脑书");
                                              myString[4]=("我的课外书");
这个东西定义到一个类里边并把它设定为static,我能不能在这个类中的方法中调用它,当然包括构造方法,以上我发的代码的错误在哪里,请高人指出,本人学习java才刚刚一个星期,没有好的老师指点,自己摸着来,还请高人解释的时候详细一点,小弟谢过!!!!!

解决方案 »

  1.   


    public class textOne {
    static String[] myString = new String[5];
    static {
    myString[0] = ("我的语文书");
    myString[1] = ("我的数学书");
    myString[2] = ("我的英语书");
    myString[3] = ("我的电脑书");
    myString[4] = ("我的课外书");
    }
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    System.out.println(myString[0]);
    }
    }错误太多,直接改了下!
      

  2.   

    myString[0]="我的语文书"; 
    去掉你的小括号!
      

  3.   

    static String[] myString = {"我的语文书","我的数学书"。。};你直接这样初始化比较合理!
      

  4.   

    问题一:
    你的main方法是静态的,在静态方法中只能调用静态的成员变量,而你的myString数组是非静态的
    而且你的赋值代码要写在方法体内
    问题二:
    当然可以调用
      

  5.   

    是啊,main是静态方法啊,所以你需要调用一个静态的函数或者静态变量
      

  6.   

    1.因为你所定义的这个字符串数组myString是非静态的,而main方法却是静态的,在静态方法中,只能调用静态的变量!
    2.当然可以!完全没有问题的。
    public class Text {
    static String[] myString = new String[5];
    static {
    myString[0] = ("我的语文书");
    myString[1] = ("我的数学书");
    myString[2] = ("我的英语书");
    myString[3] = ("我的电脑书");
    myString[4] = ("我的课外书");
    } public static void main(String[] args) {
    System.out.println(myString[0]);
    System.out.println(myString[1]);
    System.out.println(myString[2]);
    System.out.println(myString[3]);
    System.out.println(myString[4]);
    }
    }
    楼主 加油
      

  7.   

    提示:包名应该是全小写的,类名应该首字符大写,例如 package text.java; public class TextOne,初学要注意保持良好的代码书写格式。
      

  8.   

    的确是这样;main方法是属于静态的属性,调用必然是静态变量;
    再有...楼主...最后的输出语句要把括号扩回才是....
      

  9.   

    包名去掉.java,赋值语句右边去掉小括号
      

  10.   

    Main()是静态的,不能引用
    改成这样就行了:
    public class TestOne { public static void main(String[] args) {
    String[] myString = new String[5];
    myString[0] = ("我的语文书");
    myString[1] = ("我的数学书");
    myString[2] = ("我的英语书");
    myString[3] = ("我的电脑书");
    myString[4] = ("我的课外书"); // TODO Auto-generated method stub
    System.out.println(myString[0]);
    }}