下面的代码在Application中可以使用(我使用的是JDK1.4.2_06版,windows2000 Professional)
主要的代码在方法pickupString()里面,我要实现的功能也就是看看二维数组里面有哪几个元素而已。这些代码在Application里运行正常,可是为什么把他们copy到Applet里去,怎么就出现了问题呢?引发的异常是java.lang.ArrayIndexOutOfBoundsException:;
import java.util.*;public class caozuoString
{
public static void main(String[] args)
{
Vector theresult;
String[][] StringArrays = { {"A","B"} ,{"E","B"} ,{"C","H"} ,{"H","B"} , {"A","D"} , {"B","E"} , {"D","C"} };
theresult = pickupString(StringArrays);
ShowElementOfVector(theresult); } //end method main public static Vector pickupString(String[][] source)
{
System.out.println("操作字符串就此开始--------!");
Vector ResultVector = new Vector(10,5);
String[][] sourceStringArray = source;
int RecordCount = sourceStringArray.length; String [] TempArray = new String[2*RecordCount]; int Temp1 = 0;
int Temp2 = 0;
boolean flags = false;
//Vector result = new Vector(10,5);
for( int i=0 ; i < RecordCount ; i++ )
{
if (Temp1==0)
{
TempArray[0]=sourceStringArray[0][0];
} Temp1 = Temp2;
for (int x=0; x<=Temp1; x++ )
{
if ( !TempArray[x].equals(sourceStringArray[i][0]) )
{
flags=true;
}
else
{
flags=false;
break;
}
} if (flags)
{
Temp2++;
TempArray[Temp2]=sourceStringArray[i][0];
Temp1=Temp2;
} for (int x=0; x<=Temp1; x++ )
{
if ( !TempArray[x].equals(sourceStringArray[i][1]) )
{
flags=true;
}
else
{
flags=false;
break;
}
} if (flags)
{
Temp2++;
TempArray[Temp2]=sourceStringArray[i][1];
}
}
//System.out.println("i="+i+";sourceStringArray["+i+",0]="+sourceStringArray[i][0]);
//System.out.println("Temp2="+Temp2); for (int y=0;y<=Temp2 ;y++ )
{
System.out.println("TempArray["+y+"]="+TempArray[y]);
ResultVector.add(TempArray[y]);
}
return ResultVector;
} public static void ShowElementOfVector(Vector parVector)
{
for(int i=0 ; i < parVector.size() ; i++ )
System.out.println( "parVector中第" + i + "个元素是 : " + (String)parVector.get(i) );
}
} //end class
主要的代码在方法pickupString()里面,我要实现的功能也就是看看二维数组里面有哪几个元素而已。这些代码在Application里运行正常,可是为什么把他们copy到Applet里去,怎么就出现了问题呢?引发的异常是java.lang.ArrayIndexOutOfBoundsException:;
import java.util.*;public class caozuoString
{
public static void main(String[] args)
{
Vector theresult;
String[][] StringArrays = { {"A","B"} ,{"E","B"} ,{"C","H"} ,{"H","B"} , {"A","D"} , {"B","E"} , {"D","C"} };
theresult = pickupString(StringArrays);
ShowElementOfVector(theresult); } //end method main public static Vector pickupString(String[][] source)
{
System.out.println("操作字符串就此开始--------!");
Vector ResultVector = new Vector(10,5);
String[][] sourceStringArray = source;
int RecordCount = sourceStringArray.length; String [] TempArray = new String[2*RecordCount]; int Temp1 = 0;
int Temp2 = 0;
boolean flags = false;
//Vector result = new Vector(10,5);
for( int i=0 ; i < RecordCount ; i++ )
{
if (Temp1==0)
{
TempArray[0]=sourceStringArray[0][0];
} Temp1 = Temp2;
for (int x=0; x<=Temp1; x++ )
{
if ( !TempArray[x].equals(sourceStringArray[i][0]) )
{
flags=true;
}
else
{
flags=false;
break;
}
} if (flags)
{
Temp2++;
TempArray[Temp2]=sourceStringArray[i][0];
Temp1=Temp2;
} for (int x=0; x<=Temp1; x++ )
{
if ( !TempArray[x].equals(sourceStringArray[i][1]) )
{
flags=true;
}
else
{
flags=false;
break;
}
} if (flags)
{
Temp2++;
TempArray[Temp2]=sourceStringArray[i][1];
}
}
//System.out.println("i="+i+";sourceStringArray["+i+",0]="+sourceStringArray[i][0]);
//System.out.println("Temp2="+Temp2); for (int y=0;y<=Temp2 ;y++ )
{
System.out.println("TempArray["+y+"]="+TempArray[y]);
ResultVector.add(TempArray[y]);
}
return ResultVector;
} public static void ShowElementOfVector(Vector parVector)
{
for(int i=0 ; i < parVector.size() ; i++ )
System.out.println( "parVector中第" + i + "个元素是 : " + (String)parVector.get(i) );
}
} //end class
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货