本帖最后由 徐小骥 于 2012-8-10 21:23 编辑
import java.util.Scanner;
public class test1 {
private static String[] it=null;//声明数组
private static int[] iit=null;
private static void getit(int num,Scanner sc){
iit=new int[num];//实例化一个int类型数组,与String数组对比
it=new String[num];//实例化一个String类型数组
for(int j=0;j<num;j++){
it[j]=sc.nextLine();//接受键盘键入并给数组各个元素赋值
iit[j]=Integer.parseInt(it[j]);//注释此行即可单独测试String数组,但是第一元素会为空,且所以元素会后移一位
}
}
private static void pl(String[] it,int[] iit,int num){
for(int j=0;j<num;j++){
System.out.println(j+"元素分别为 String:"+it[j]+" ——Int:"+iit[j]);
}
}
public static void main(String[] args){
Scanner sc= new Scanner(System.in);
int num=sc.nextInt();
getit(num,sc);
pl(it,iit,num);
}
}
//报错:Exception in thread "main" java.lang.NumberFormatException: For input string: ""
//第一个输入的值仅仅用来定义数组的长度,为什么在int数组中能很好的运行而在String中会循环一次并给String第一个元素赋空值?
//如果只给String数组赋值,第一个元素总是空值,这是怎么回事?
|
|