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

一、需求分析:

1、输入一个数组-----------------------------------------》程序要接收一组输入的数组,没有明确这组数组有多大
2、一个数字组成的数组--------------------------------》接收到的数组只能是数字
3、输出接收到数组的最大值和最小值--------------》得到最大和最小值

二、技术难点

1、怎么从用户输入获取到一个数字数组?
可以用BufferedReader类:从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。
2、怎么得到最大最小值?

这个好办最简单就是遍历数组嘛

代码实现:

package com.itheima;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

/**
 * 6、 输入一个数字组成的数组,输出该数组的最大值和最小值
 *
 * @author 281167413@qq.com
 */

public class Test6 {

	public static void main(String[] args) throws IOException {
		System.out.println("请输入一组数字:");
		// 创建输入流对象
		BufferedReader reader = new BufferedReader(new InputStreamReader(
				System.in));
		// 读取一行信息
		String input = reader.readLine();

		// 以空格为分隔符,转换成数组
		String[] numbers = input.split(" ");
		int[] values = new int[numbers.length];
		for (int j = 0; j < numbers.length; j++) {
			values[j] = Integer.parseInt(numbers[j]);
		}
		numbers = null; // 回收numbers数组的资源

		// 获取接收到的数组里面的最大、最小数值
		// 获取最大值和获取最小值分别写成了两个函数的话,就等于是多遍历了一遍这个数组,效率降低了,可扩展性增强了
		System.out.printf("MAX:%d, MIN:%d\n", getMax(values), getMin(values));
	}

	public static int getMax(int[] values) {
		int tmp = Integer.MIN_VALUE;

		if (null != values) {
			tmp = values[0];
			for (int i = 0; i < values.length; i++) {
				if (tmp < values[i]) {
					tmp = values[i];
				}
			}
		}

		return tmp;
	}

	public static int getMin(int[] values) {
		int tmp = Integer.MIN_VALUE;

		if (null != values) {
			tmp = values[0];
			for (int i = 0; i < values.length; i++) {
				if (tmp > values[i]) {
					tmp = values[i];
				}
			}
		}

		return tmp;
	}
}
(0)

相关推荐

  • java实现向有序数组中插入一个元素实例

    整理文档,搜刮出一个java实现向有序数组中插入一个元素,稍微整理精简一下做下分享 package cn.jbit.array; import java.util.*; public class Insert { public static void main(String[] args) { //字符排序 char[] chars = new char[9]; chars[0] = 'a'; chars[1] = 'c'; chars[2] = 'u'; chars[3] = 'b'; cha

  • Java控制台输入数组并逆序输出的方法实例 原创

    输入一个数组,然后颠倒次序进行输出,这种算法在程序开发中经常用到,下面我们通过一个小实例来看看怎么实现在控制台输入一个数组,并让其逆序输出的. 源码: import java.util.Scanner; public class Test01 { public static void main(String[] args){ System.out.println("请输入五个数"); int[]l=new int [5]; for(int i=0;i<5;i++) l[i]=ne

  • Java中byte、byte数组与int、long的转换详解

    一.Java 中 byte 和 int 之间的转换源码: //byte 与 int 的相互转换 public static byte intToByte(int x) { return (byte) x; } public static int byteToInt(byte b) { //Java 总是把 byte 当做有符处理:我们可以通过将其和 0xFF 进行二进制与得到它的无符值 return b & 0xFF; } 测试代码: //测试 int 转 byte int int0 = 234

  • java 两个数组合并的几种方法

    本文介绍了java 两个数组合并的几种方法,分享给大家,也给自己留个笔记 需求:两个字符串合并(如果想去重复,参考下一篇--数组去重复及记录重复个数) //方法一 Arrays类 String[] a = {"A","B","C"}; String[] b = {"D","E"}; // List<String> list = Arrays.asList(a); --OK // List<

  • java 从int数组中获取最大数的方法

    首先要有数组的概念吧,知道什么是数组,简单讲就是存放一组数据的一个组合,就是一个数组....哈哈 已知一个int数组, 编程从数组中获取最大数. 思路分析: 1.一个数组可能有很多个数字,要取最大数,那就是一个数一个数的进行比较可以可以选出来了是吧 那么就是:先定义一个变量赋值为数组的第一个数,然后在和数组的第二.第三个数相比较,遇到比自己大的就将打的数值赋给这个变量,遍历到最后就可以了. 代码: package com.itheima; /** * 2. 已知一个int数组, 编程从数组中获取

  • java实现把对象数组通过excel方式导出的功能

    一.导入相关jar包,pom依赖如下: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>RELEASE</version> </dependency> 二.开始撸代码 1.如果导出功能使用的比较多,可以将其做成一个工具类,对我下面贴出的代码进行改造 //结果返回的是写入的记录数(以下用的是自

  • java 输入一个数字,反转输出这个数字的值(实现方法)

    如下所示: package 第四天; import java.util.Scanner; public class 数字反转 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入一个整数:"); int num=sc.nextInt(); int result=0;//存反转的数字 while(true) { int n=num%10

  • java 输入一个数字组成的数组(输出该数组的最大值和最小值)

    一.需求分析: 1.输入一个数组----------------------------------------->程序要接收一组输入的数组,没有明确这组数组有多大 2.一个数字组成的数组-------------------------------->接收到的数组只能是数字 3.输出接收到数组的最大值和最小值-------------->得到最大和最小值 二.技术难点 1.怎么从用户输入获取到一个数字数组? 可以用BufferedReader类:从字符输入流中读取文本,缓冲各个字符,从

  • Java编写程序之输入一个数字实现该数字阶乘的计算

    需求说明: 编写Java程序,输入一个数字,实现该数字阶乘的计算.一个数字的阶乘是所有小于及等于该数的正整数的积,自然数n的阶乘写作n! .例如,5的阶乘等于1*2*3*4*5,表示为5! = 120. 实现思路: 声明变量fac.i和num,用于存储阶乘运算结果.循环变量以及用户输入的数字. 通过System.out.println()接收用户输入的数字,并为变量num赋值. 根据阶乘计算规则,使用while循环结构实现计算. 使用System.out.println ()实现格式化输出运算结

  • java输入字符串并将每个字符输出的方法

    如下所示: import java.util.Scanner; public class Main{ public static void main(String[] args){ int i,len; String str; Scanner in = new Scanner(System.in); str = in.next(); len = str.length(); //求出长度 for (i=0; i<len; i++){ System.out.println(str.charAt(i)

  • python输入一个水仙花数(三位数) 输出百位十位个位实例

    我就废话不多说了,大家还是直接看代码吧! # python输入一个水仙花数(三位数) 输出百位十位个位 """ 从控制台输入一个三位数num, 如果是水仙花数就打印num是水仙花数, 否则打印num不是水仙花数 """ """ 任务: 1.定义变量num用于存放用户输入的数值 2.定义变量gw.sw.bw分别用于存放输入的三位数的个位,十位,百位 3.定义变量total,用于存放各位数字立方和 4.用if语句判断各位

  • Python 输入一个数字判断成绩分数等级的方法

    成绩分数等级为: 100-90 A 90-80 B 80-70 C 70-60 D 60以下 F 实现判断分数等级是一个很简单的数学问题,只要你输入的这个数字介于两个数字之间既可以判断出这个分数的等级. 代码如下: a=eval(input()) if a>=90: print("A") elif 90>a>=80: print("B") elif 80>a>=70: print("C") elif 70>a&

  • Python实现按照指定要求逆序输出一个数字的方法

    本文实例讲述了Python实现按照指定要求逆序输出一个数字的方法.分享给大家供大家参考,具体如下: 问题是:输入一个数字,按照指定要求逆序输出该数字,很简单,下面是实现: #!usr/bin/env python #encoding:utf-8 ''''' __Author__:沂水寒城 功能:逆序输出一个数字 如果数字是正数直接输出如:177--->771 如果数字是负数保留负号如:-945--->-549 如果数字以0结果逆序后需要去除0如:100--->1 如果数字很大会造成溢出返

  • python实现逆序输出一个数字的示例讲解

    问题是:输入一个数字,按照指定要求逆序输出该数字,很简单,下面是实现: #!usr/bin/env python #encoding:utf-8 ''' __Author__:沂水寒城 功能:逆序输出一个数字 如果数字是正数直接输出如:177--->771 如果数字是负数保留负号如:-945--->-549 如果数字以0结果逆序后需要去除0如:100--->1 如果数字很大会造成溢出返回0即可 ''' def inverse_num(one_num): ''' 逆序输出一个数字 '''

  • 浅谈Java中的集合存储数据后,输出数据的有序和无序问题

    HashSet , TreeSet , 无序是指存储数据的顺序和取出数据的顺序不一致:但是TreeSet 是按照指定的顺序排个序出来: 如果,我们想按照数据输入的顺序依次输出数据(即,如果依次输入4.1.7.3,输出时依次是4.1.7.3),此时需要用LinkedHashMap ,LinkedHashSet package Demo; import java.util.*; import java.util.Map.*; public class DemoMap { public static

  • 用java实现猜数字游戏

    本文实例为大家分享了java实现猜数字游戏的具体代码,供大家参考,具体内容如下 一.游戏操作 游戏操作如下: 后台预先生成一个1-100之间的随机数,用户键盘录入猜数字 如果猜对了,打印"恭喜您,答对了" 如果猜错了 猜大了:打印"sorry,您猜大了!" 猜小了:打印"sorry,您猜小了!" 直到数字猜到为止 二.案例需求分析 猜数字案例的需求如下: 后台预先生成一个1-100之间的随机数,用户键盘录入猜数字 如果猜对了,打印"恭喜

随机推荐