黑马程序员技术交流社区
标题:
出大事了!nextInt和nextLine的疑惑
[打印本页]
作者:
徐小骥
时间:
2012-8-10 20:15
标题:
出大事了!nextInt和nextLine的疑惑
本帖最后由 徐小骥 于 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数组赋值,第一个元素总是空值,这是怎么回事?
作者:
杨震
时间:
2012-8-10 20:38
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 i=0;i<num;i++){
it=sc.nextLine();//<font color="magenta">这里应该是it[i]吧</font>
iit=Integer.parseInt(it);//<font color="magenta">这里应该是iit[i]和it[i]吧</font>
}
}
private static void pl(String[] it,int[] iit,int num){
for(int i=0;i<num;i++){
System.out.println(i+"元素分别为 String:"+it+" ——Int:"+iit);
}
}
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数组赋值,第一个元素总是空值,这是怎么回事?
复制代码
作者:
徐小骥
时间:
2012-8-10 20:55
杨震 发表于 2012-8-10 20:38
是的 这个网站太智能了
被识别成了斜体,我还在纳闷怎么代码变成斜体了
作者:
徐小骥
时间:
2012-8-10 20:59
杨震 发表于 2012-8-10 20:38
现在改好了 把
改成[j]
作者:
杨震
时间:
2012-8-10 21:19
it=sc.nextLine();//接受键盘键入并给数组各个元素赋值
这个也要改吧
作者:
徐小骥
时间:
2012-8-12 22:55
不要沉啊!!求指导
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2