黑马程序员技术交流社区

标题: 怎样从键盘接收一个数组 [打印本页]

作者: 黄敬璇    时间: 2015-5-1 21:31
标题: 怎样从键盘接收一个数组
怎样从键盘接收一个数组
作者: 下一页5    时间: 2015-5-1 23:02
System.in就知道这些了
作者: mrleeapple    时间: 2015-5-1 23:25
可以用循环语句加键盘输入类的构造方法Scanner()来实现。
作者: 大西洋    时间: 2015-5-1 23:48
本帖最后由 大西洋 于 2015-5-1 23:55 编辑

这样写,刚写的哦:
  1. import java.util.Scanner;

  2. public class Test04 {
  3.         public static void in(){
  4.                 Scanner scan = new Scanner(System.in);
  5.                 String[] st = new String[5];
  6.                 for (int i = 0; i < st.length; i++) {
  7.                         st[i] = scan.nextLine();
  8.                         System.out.println("您输入的数组是:"+st[i]);
  9.                 }
  10.         }
  11.         public static void main(String[] args) {
  12.                 in();
  13.         }
  14. }
复制代码




作者: 大兵在海边    时间: 2015-5-1 23:53
本帖最后由 大兵在海边 于 2015-5-1 23:55 编辑

不知道类库中有没有对应的方法,但是我现在学到的
  1. import java.util.ArrayList;
  2. import java.util.Arrays;
  3. import java.util.Scanner;

  4. public class Demo {
  5.         public static void main(String[] args) {
  6.                 Scanner sc=new Scanner(System.in);
  7.                 System.out.println("请输入数组(格式:xx,xx,xx,xx):");
  8.                 String str= sc.next();
  9.                 //String str="12,24,245,23,9,865,66,34";
  10.                 String[] s=str.split(",");//使用正则表达式切割字符串,得到一个字符串数组
  11.                
  12.                 ArrayList<Integer> list=new ArrayList<Integer>();//将转化的数字放入集合中操作
  13.                
  14.                 for(int i=0;i<s.length;i++){
  15.                         int n=Integer.parseInt(s[i]);//通过调用Integer的parseInt()方法可以将数字型字符串转化成数字
  16.                         list.add(n);
  17.                 }
  18.                 //System.out.println(list.get(7));
  19.                 //System.out.println(Integer.parseInt(s[6]));
  20.                 Integer[] arr=new Integer[list.size()];
  21.                 list.toArray(arr);
  22.                 System.out.println("排序之后为:");
  23.                 Arrays.sort(arr);
  24.                 System.out.println(arrToString(arr));
  25.                 System.out.println("最大值为:"+arr[arr.length-1]);
  26.                 //System.out.println(arr[7]);
  27.                
  28.         }
  29.         public static String arrToString(Integer[] arr){
  30.                         StringBuilder str=new StringBuilder();
  31.                         str.append("[");
  32.                         for(int i=0;i<arr.length;i++){
  33.                                 if(i==arr.length-1){
  34.                                         str.append(arr[i]).append("]");
  35.                                         break;
  36.                                 }else{
  37.                                         str.append(arr[i]).append(",");
  38.                                 }
  39.                         }
  40.                         return str.toString();
  41.         }
  42. }
复制代码

知识自己写了一个一次录入一个数组的代码,供楼主参考
作者: 907888614    时间: 2015-5-2 02:48
for循环,外加Scanner()
作者: 爆炸头    时间: 2015-5-2 09:59
大西洋 发表于 2015-5-1 23:48
这样写,刚写的哦:

如果数组的长度不确定,怎么搞?
作者: 黄敬璇    时间: 2015-5-2 10:04
大兵在海边 发表于 2015-5-1 23:53
不知道类库中有没有对应的方法,但是我现在学到的
知识自己写了一个一次录入一个数组的代码,供楼主参考 ...

好厉害呀
作者: 黄敬璇    时间: 2015-5-2 10:06
大西洋 发表于 2015-5-1 23:48
这样写,刚写的哦:

真厉害,写个代码如此轻松
作者: 黄敬璇    时间: 2015-5-2 10:07
下一页5 发表于 2015-5-1 23:02
System.in就知道这些了

来看看大神们给我的回复吧,很有用奥
作者: 下一页5    时间: 2015-5-2 10:09
黄敬璇 发表于 2015-5-2 10:07
来看看大神们给我的回复吧,很有用奥

我这不算基础班都没进去嘛,链接的就这多。谅解啊
作者: 黄敬璇    时间: 2015-5-2 10:10
下一页5 发表于 2015-5-2 10:09
我这不算基础班都没进去嘛,链接的就这多。谅解啊

已经很厉害了,加油
作者: 下一页5    时间: 2015-5-2 10:12
黄敬璇 发表于 2015-5-2 10:10
已经很厉害了,加油

问个事,你java基础班几期?电环面试好过不?求招
作者: 黄敬璇    时间: 2015-5-2 10:14
因为你进的是基础班,所以老师会问你一些相对非常简单的问题,所以放心好了,你连这个题都懂的,你面试肯定没问题的,放心好了
作者: 大西洋    时间: 2015-5-2 10:48
黄敬璇 发表于 2015-5-2 10:06
真厉害,写个代码如此轻松

惭愧,因为写过很多遍了,呵呵。
作者: 大西洋    时间: 2015-5-2 11:05
本帖最后由 大西洋 于 2015-5-2 11:06 编辑
爆炸头 发表于 2015-5-2 09:59
如果数组的长度不确定,怎么搞?

那就无需定义数组,直接把键盘输入的字符串 存入list集合就可以了~  输入多长都可以~ :)
作者: zy18692243338    时间: 2015-5-2 14:06
大西洋 发表于 2015-5-1 23:48
这样写,刚写的哦:

给力,想了好几天了!!!不知道有没有个方法直接搞定
作者: 1017161726    时间: 2015-5-2 14:28
建一个空数组。获取每一行的键盘录入存入数组。这样应该可以的。
作者: 龙腾浩少    时间: 2015-5-2 15:43
不错.看过,get
作者: 18463730277    时间: 2015-5-2 17:17
import java.util.Scanner; Scanner sc = new Scanner(System.in);   int[] num = new int[]; num=sc.nextInt();
作者: 清香白莲    时间: 2015-5-2 18:24
最好从文件接收
作者: Cat    时间: 2015-5-2 19:03
学习一下~
作者: huanmenglt    时间: 2015-5-2 22:03
你的问题太抽象了。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2