黑马程序员技术交流社区

标题: 编写程序接收键盘输入的5个数,装入一个数组,并找出其最大数和最小数。 [打印本页]

作者: 小周务商    时间: 2014-3-25 00:14
标题: 编写程序接收键盘输入的5个数,装入一个数组,并找出其最大数和最小数。
编写程序接收键盘输入的5个数,装入一个数组,并找出其最大数和最小数。

这个如何实现。我只会做前面的一点。如何装入数组这一步就不知道了。能装进数组了,我就能有办法找到最大值和最小值了。
求大神指点。。。。。
public class test6 {

        public static void main(String[] args) //主函数。
        {
               
                System.out.println("请输入五个数");//提醒用户输入。
                Scanner s =new Scanner(System.in);//创建一个扫描器对象。
                int[] arr =new int[5];//定义一个数组,长度为5.
                       
        }
}
作者: 霍振鹏    时间: 2014-3-25 00:17
我写的,可以参考下,
  1. package com.itheima;

  2. import java.util.Scanner;

  3. public class Test8 {

  4.         /**
  5.          * 编写程序接收键盘输入的5个数,装入一个数组,并找出其最大数和最小数。
  6.          */
  7.         public static void main(String[] args) {
  8.                 // TODO Auto-generated method stub
  9.                 Scanner scanner =new Scanner(System.in);
  10.                 int [] data1=new int[5];
  11.                
  12.                 for(int i=0;i<data1.length;i++)
  13.                 {
  14.                         data1[i]=scanner.nextInt();
  15.                        
  16.                 }
  17.                 System.out.println(data1.length);
  18.                 int max=maxOperation(data1);
  19.                 int min=minOperation(data1);
  20.                 System.out.println("最大值为"+max);
  21.                 System.out.println("最小值为"+min);
  22.                
  23.                

  24.         }
  25.        
  26.         public static int maxOperation(int [] arr)//arr[0]存放最大值
  27.         {
  28.                 int max=arr[0];
  29.                 for(int i=1;i<arr.length;i++)
  30.                 {
  31.                         if(max<arr[i])
  32.                         {
  33.                                 max=arr[i];
  34.                         }
  35.                 }
  36.                 return max;
  37.         }
  38.         public static int minOperation(int[] arr)//arr[0]存放最小值
  39.         {
  40.                 int min=arr[0];
  41.                 for(int i=1;i<arr.length;i++)
  42.                 {
  43.                         if(min>arr[i])
  44.                         {
  45.                                 min=arr[i];
  46.                         }
  47.                 }
  48.                 return min;
  49.         }

  50. }
复制代码

作者: 霍振鹏    时间: 2014-3-25 00:18
从键盘输入的五个数,中间要用空格隔开的。
作者: 小周务商    时间: 2014-3-25 01:01
霍振鹏 发表于 2014-3-25 00:17
我写的,可以参考下,

scanner.nextInt();接收的只是String 类型的。你传个int类型的会报错吧?
作者: 霍振鹏    时间: 2014-3-25 01:52
scanner.nextInt()接受的就是整形啊,scanner.next()才接受String类型的
作者: 我感觉优势很大    时间: 2014-3-25 11:09
我的这个思想是先排序,然后就直接可以获得最大的和最小的了
  1. Scanner sc=new Scanner(System.in);
  2.                
  3.                 int a[]=new int[5];
  4.                
  5.                 for(int i=0;i<5;i++)
  6.                         a[i]=sc.nextInt();
  7.                
  8.                 //把输入的数组排序(升序),就可以直接获得最大的和最小的
  9.                 Arrays.sort(a);
  10.                
  11.                 System.out.println("最小的:"+a[0]);
  12.                
  13.                 System.out.println("最大的:"+a[4]);
复制代码

作者: 赵军军    时间: 2014-3-25 18:35
可以先进行排序,Arrays.sort(数组名);然后输出第一个和最后一个就行




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