java 输入一个数字组成的数组(输出该数组的最大值和最小值)
作者:mdxy-dxy 发布时间:2023-11-24 21:41:58
标签: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;
}
}


猜你喜欢
- 先看看下面的代码能不能编译通过:public static void main(String[] args) {List l1 = new
- 一、日志的分类1、名字分类log4j :log for java (因为for和4读音差不多,所以交log4j)logBack 日志说明注意
- 本文实例讲述了Java线程池用法。分享给大家供大家参考,具体如下:一 使用newSingleThreadExecutor创建一个只包含一个线
- 前言本文主要介绍了关于java静默加载Class的相关内容,之所以有这篇文章,是因为有时候在开发的时候,我们有这样的场景,我们只想得到一个C
- 本文实例为大家分享了android通过servlet上传文件到服务器的具体代码,供大家参考,具体内容如下服务器端:部署在Tomcat上,直接
- 本文实例讲述了Java实现指定线程执行顺序的三种方式。分享给大家供大家参考,具体如下:方法一:通过共享对象锁加上可见变量来实现。public
- 本文实例讲述了Android基于Intent实现Activity之间数据传递的方法。分享给大家供大家参考,具体如下:MainActivity
- 对某个类型中的方法进行拦截,然后加入固定的业务逻辑,这是AOP面向切面编程可以做的事,在springboot里实现aop的方法也有很多, s
- GUI全程是Graphical User Interface,即图形用户界面。顾名思义,GUI就是可以让用户直接操作的图形化界面,包括窗口、
- Spring Security的本质Spring Security 本质上是一连串的 Filter , 然后又以一个独立的 Filter 的
- 我们第三章分析过客户端接入的流程, 这一小节带大家剖析客户端发送数据, Server读取数据的流程:首先温馨提示, 这一小节高度耦合第三章的
- 线程池无限制的创建线程若采用"为每个任务分配一个线程"的方式会存在一些缺陷,尤其是当需要创建大量线程时:线程生命周期的开
- C#实现修改文件的创建、修改和访问时间方法,主要是用到了File类的SetCreationTime、SetLastWriteTime、Set
- using System;using System.Collections.Generic;using System.ComponentMo
- 一、概要1.Java虚拟机(Jvm)是什么?2.Java虚拟机是用来干什么的?3.Java虚拟机它的体系结构是什么样子的?4.Java虚拟机
- 具体解释请仔细看注释里已经讲解的很细致了,这里就不多废话了using UnityEngine;using System.Collection
- 前言在一个小项目中,需要用到京东的所有商品ID,因此就用c#写了个简单的爬虫。在解析HTML中没有使用正则表达式,而是借助开源项目HtmlA
- 概述从今天开始, 小白我将带大家开启 Jave 数据结构 & 算法的新篇章.算法的衡量标准当我们需要衡量一个算法的的优越性, 通常会
- J2ee 高并 * 况下 * 实例详解引言:在高并发下限制最大并发次数,在web.xml中用过滤器设置参数(最大并发数),并设置其他相关参数。
- 目录为什么要用Geometry数据做图标?怎么获取Geometry数据?如何使用Geometry数据相信大家在阅读WPF相关GitHub开源