A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. public static void main(String[] args) {
  2.                 Scanner sc=new Scanner(System.in);
  3.                 //键盘录入数组大小,及元素
  4.                 System.out.println("请输入数组的长度:");
  5.                 int m=sc.nextInt();
  6.                 //定义一个char数组用来接收键盘录入数据
  7.                 String[] arr=new String[m];
  8.                
  9.                 //获取键盘录入数据
  10.                 for (int i = 0; i < arr.length; i++) {
  11.                         System.out.println("请输入数组的第"+(i+1)+"个元素:");
  12.                         arr[i]=sc.nextLine();
  13.                 }
  14.         }       
复制代码
第一个元素一直不可以键盘录入,运行结果见附件

QQ截图20150912160745.jpg (26.66 KB, 下载次数: 13)

运行结果

运行结果

2 个回复

正序浏览
gdh911125 发表于 2015-9-12 16:30
键盘录入数据,如果第一次录入int数据,第二次录入String数据时需要重新创建一个scanner对象 ...
  1. public static void main(String[] args) {
  2.                 Scanner sc=new Scanner(System.in);
  3.                 //键盘录入数组大小,及元素
  4.                 System.out.println("请输入数组的长度:");
  5.                 int m=sc.nextInt();
  6.                 //定义一个char数组用来接收键盘录入数据
  7.                 String[] arr=new String[m];
  8.                
  9.                 //获取键盘录入数据
  10.                 for (int i = 0; i < arr.length; i++) {
  11.                         //由于前面键盘录入了一个数字,结尾默认会有一个回车符,所以需重新定义一个Scanner对象来获取键盘录入的String类型数据
  12.                         Scanner sc1=new Scanner(System.in);
  13.                         System.out.println("请输入数组的第"+(i+1)+"个元素:");
  14.                         arr[i]=sc1.nextLine();
  15.                 }
  16.                 //输出原始数组
  17.                 System.out.print("您输入的数组是:{");
  18.                 for (int i = 0; i < arr.length; i++) {
  19.                         System.out.print(arr[i]+",");
  20.                 }
  21.                 System.out.print("}");
复制代码


OK搞定了,谢了
回复 使用道具 举报
键盘录入数据,如果第一次录入int数据,第二次录入String数据时需要重新创建一个scanner对象
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马