黑马程序员技术交流社区

标题: 怎样从键盘录入,读取输入的数字组成的数组? 求助! [打印本页]

作者: 刘菲    时间: 2012-11-22 09:26
标题: 怎样从键盘录入,读取输入的数字组成的数组? 求助!
本帖最后由 刘菲 于 2012-11-22 12:36 编辑

怎样从键盘录入,读取输入的数字组成的数组?

下面是我写的代码  但是总出错  麻烦大家帮忙解答一下

public static void main(String[] args)
        {
               
                BufferedReader bufr=null;
                try
                {
                        
                        bufr=new BufferedReader(new InputStreamReader (System.in));
                        String line =null;
                        while((line=bufr.readLine())!=null)
                        {
                                char[] arr=line.toCharArray();
                                
               
                        }
                        
                }
               
                catch(IOException e)
                {
                        
                }

                finally
                {
                        
                }
}
作者: 陈军    时间: 2012-11-22 09:46
本帖最后由 陈军 于 2012-11-22 09:56 编辑

把所有输入的数字,要求组成数组?  数字输入方式有要求没? 是直接连续输入还是输入一个,回车一个?

你的代码括号有问题。
作者: 崔维友    时间: 2012-11-22 09:51
虽然还没看到这部分,给你整理一下代码吧
  1. public static void main(String[] args)
  2. {
  3.         BufferedReader bufr=null;
  4.         try
  5.         {
  6.                 bufr=new BufferedReader(new InputStreamReader (System.in));
  7.                 String line =null;
  8.                 while((line=bufr.readLine())!=null)
  9.                 {
  10.                         char[] arr=line.toCharArray();
  11.                 }
  12.         }
  13.         catch(IOException e)
  14.         {
  15.         }
  16.         finally
  17.         {
  18.         }
  19. }
复制代码

作者: jerry2627    时间: 2012-11-22 09:59
333333333333333333
作者: 刘菲    时间: 2012-11-22 09:59
崔维友 发表于 2012-11-22 09:51
虽然还没看到这部分,给你整理一下代码吧

嘿嘿。。。谢谢啊  复制的时候太粗心了 把括号放错位置了
作者: 刘菲    时间: 2012-11-22 10:02
陈军 发表于 2012-11-22 09:46
把所有输入的数字,要求组成数组?  数字输入方式有要求没? 是直接连续输入还是输入一个,回车一个?

你的 ...

这个我也不太清楚,题目是这样的,你看下吧

输入一个数字组成的数组,输出该数组的最大值和最小值

后半部分我会,但是前面怎么读取数组的就做不出来了,输出结果总是有错
作者: 陈军    时间: 2012-11-22 10:21
public class Test6 {

       
        public static void main(String[] args) {
                // TODO Auto-generated method stub
               
        //告知用户需要输入信息的格式
                System.out.println("请输入你所求的数组的具体整数元素,中间用逗号隔开(中间不能有空格哦): " +
                                "格式: 2,3,4,5,1  ");

                if(args.length ==0){
                        System.out.println("请照上提示输入相应参数");
                        return ;
                }
                if(args.length>1){
                        System.out.println("参数格式不合法");
                        return ;
                }

                int[] arr = strNumToInt_Array(args[0]);
               
                System.out.println(getMin(arr));
                System.out.println(getMax(arr));
               
        }
     //将输入的数字参数字符串转换为int数组,float数组同理
        private static int[] strNumToInt_Array(String str) {
               
                String [] strs=str.split(",");
                int len=strs.length;
                int[] arr=new int[len];
                for(int i=0;i<len;i++){
                        arr[i]=Integer.parseInt(strs[i]);
                }
                return arr;
        }
    //获取最小值
        public static int getMin(int[] arr){
                return getMinOrMax(arr,"min");
        }
        //获取最大值
        public static int getMax(int[] arr){
                return getMinOrMax(arr,"max");
        }
        //获取最大值或者最小值,
        //第2个参数是获取最值的字符串表示,"min"代表最小值,"max"代表最大值
        //有点懒一起写了,封装在内部,
        private static int getMinOrMax(int[] arr,String type){               
                if(arr==null){
                        throw new RuntimeException("参数为空无法获取");
                }
                int max=0;
                if(type.equals("max")){
                        max=arr[0];
                        for(int i=0;i<arr.length;i++){
                                if(arr[i]>max)
                                        max=arr[i];
                        }
                        return max;
                }
                else if(type.equals("min")){
                         int min=arr[0];
                         for(int i=0;i<arr.length;i++){
                                        if(arr[i]<min)
                                                min=arr[i];
                                }
                         return min;
                }
                else
                        System.out.println("第二个参数不合法");
               
                return max;
        }
   
} //这是我之前的。你可以借鉴下。写成自己的。
作者: 刘菲    时间: 2012-11-22 12:35
陈军 发表于 2012-11-22 10:21
public class Test6 {

       

谢谢,问题已经解决了




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