non-static variable this cannot be referenced from a static context错误?? public class MySplit {---->static class MySplit { 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的程序是这样的:MySplit类是A类的一个内部类,而main方法是A类的。静态方法是内是不能使用外部非静态变量的,所以会报这样的错误。 static成员不能调用非static函数 package split;class A{ static class MySplit { String st; public MySplit(String st) { this.st=st.trim(); } int [] mySplit(String regex,int limit){ int sti[]; String s[]=st.split(regex,limit); if(s.length!=0){ sti = new int[s.length]; for (int i = 0; i < s.length; i++) { sti[i] = Integer.parseInt(s[i].trim()); } }else{ //首值为-1时,字符串为空 sti=new int[1]; sti[0]=-1; } return sti; } } public static void main(String args[]){ MySplit ms = new MySplit("100,123,126,189,1,10"); for(int i=0;i<ms.mySplit(",",5).length;i++){ System.out.println(ms.mySplit(",",5)[i]); } }} 谢谢,如果不改成static 还有没有其它的办法呢?就像其它的类那样,不声明成静态的。 MySplit 只能通过实例来调用 MySplit ms=new MySplit("100,123,126,189,1,10");改成A a=new A();A.MySplit ms=a.new MySplit("100,123,126,189,1,10"); JDBC周期连接Oracle出现僵死 新手求教 关于packet方法的一点小问题 泛型的问题 !快毕业了,直接毕业还是考研没拿定注意??? 如何将JTextField的内容加到JList列表框中(初学者) 书!!!!!!! 帮帮我 初始化的问题,刚学Java ,多多帮忙! http://java.sun.com/真难 地址传递的问题 那位高手看看如何解决关于java时间问题 在jBuilder中如何将一个已存在的包添加到另一个project中?
MySplit类是A类的一个内部类,而main方法是A类的。静态方法是内是不能使用外部非静态变量的,所以会报这样的错误。
String st;
public MySplit(String st) {
this.st=st.trim(); }
int [] mySplit(String regex,int limit){
int sti[];
String s[]=st.split(regex,limit); if(s.length!=0){
sti = new int[s.length];
for (int i = 0; i < s.length; i++) {
sti[i] = Integer.parseInt(s[i].trim());
}
}else{
//首值为-1时,字符串为空
sti=new int[1];
sti[0]=-1;
}
return sti;
}
} public static void main(String args[]){
MySplit ms = new MySplit("100,123,126,189,1,10");
for(int i=0;i<ms.mySplit(",",5).length;i++){
System.out.println(ms.mySplit(",",5)[i]);
}
}}
如果不改成static 还有没有其它的办法呢?就像其它的类那样,不声明成静态的。
A.MySplit ms=a.new MySplit("100,123,126,189,1,10");