精华内容
下载资源
问答
  • java遍历数组输出最小值
    2018-11-23 17:33:00

    几个例题解答数组问题:

    public static void main(String[] args) {
    	// TODO Auto-generated method stub
    	/*
    	 * 1、将数组int arr[]={56,33,51,49,102,23}
    	 * 遍历输出打印到控制台打印格式为 [56,33,51,49,102,23]
    	 */
    	int arr [] = {56,33,51,49,102,23};//定义一个数组
    	for(int i=0;i<arr.length;i++){//遍历数组
    		if(i==0){//当数组下标为0时输出的内容
    			System.out.print("["+arr[i]+",");
    		}else if(i<arr.length-1){//当下标满足数组个数减一时输出的内容
    			System.out.print(arr[i]+",");
    		}else{//当下标等于数组长度时输出的内容
    			System.out.print(arr[i]+"]");
    		}
    	}
    	
    	System.out.println("");//换行
    	System.out.println("");//换行
    	/*
    	 * 2、利用冒泡排序将数组进行从小到大排序  --   
    	 * int arr[]={56,33,51,49,102,23};
    	 */
    	for(int i=0;i<arr.length-1;i++){//循环轮数
    		for(int j=0;j<arr.length-i-1;j++){//每轮循环的次数
    			if(arr[j]>arr[j+1]){//如果前面的值大于后面的值,就互换两个元素的值
    				int temp =arr[j];
    				arr[j] = arr[j+1];
    				arr[j+1] = temp;
    			}
    		}
    	}
    	for(int i=0;i<arr.length;i++){//遍历排序后的数组
    		if(i<arr.length-1){//如果下标小于数组的长度减一,输出的内容
    			System.out.print(arr[i]+"<");
    		}
    		if(i == arr.length-1){//如果下标等于数组的长度减一,输出的内容
    			System.out.print(arr[i]);
    		}
    	}
    	
    	System.out.println("");//换行
    	System.out.println("");//换行
    	
    	
    	/*
    	 * 利用选择排序将数组进行从大到小排序  --  
    	 * int  arr[]={36,11,90,87,156,2};
    	 */
    	for(int i=0;i<arr.length-1;i++){//循环的轮数
    		for(int j=i+1;j<arr.length;j++){//每轮循环的次数
    			if(arr[i]<arr[j]){//如果前面的值小于后面的值就互换
    				int temp =arr[i];
    				arr[i] = arr[j];
    				arr[j] = temp;
    			}
    		}
    	}
    	for(int i=0;i<arr.length;i++){//遍历排序后的数组
    		if(i<arr.length-1){//如果下标小于数组长度减一,输出的内容
    			System.out.print(arr[i]+">");
    		}
    		if(i == arr.length-1){//如果下标等于数组的长度,输出的内容
    			System.out.print(arr[i]);
    		}
    	}
    	
    	System.out.println("");//换行
    	System.out.println("");//换行
    	
    	/*
    	 * 4、现在有如下一个数组:int arr1[]={1,3,4,5,0,6,6,0,5,4,7,6,7,0,5}; 
     		要求将以上数组中的0项去掉,将不为0的值存入一个新的数组,生成新的数组为:
    		int newArr[]={1,3,4,5,6,6,5,4,7,6,7,5};
    	 */
    	int arr1 [] = {1,3,4,5,0,6,6,0,5,4,7,6,7,0,5};//定义一个数组
    	int zero = 0;
    	for(int i=0;i<arr1.length;i++){//统计数组arr1中0的个数,遇到0,zero就+1
    		if(arr1[i]==0){
    			zero++;
    		}
    	}
    	//System.out.print(zero);
    	System.out.println("");
    	System.out.println("");
    	
    	int newArr [] = new int [arr1.length-zero];//定义一个新的数组,它的长度为数组arr1的长度减去zero的个数
    	int j=0;//新数组的下标
    	for(int i=0;i<arr1.length;i++){//遍历数组arr1
    		if(arr1[i]!=0){//如果爱arr1中的元素不为0,就加入到新的数组中
    			newArr[j] = arr1[i];
    			j++;//加入新数组后,下标+1
    		}
    	}
    	for(int i=0;i<newArr.length;i++){//遍历生成的新数组
    		if(i==0){//如果新数组下标为0,输出的内容
    			System.out.print("生成的新数组为["+newArr[i]+",");
    		}else if(i<newArr.length-1){//如果新数组下标小于数组长度减一,输出的内容
    			System.out.print(newArr[i]+",");
    		}else{//如果新数组下标等于数组长度减一,输出的内容
    			System.out.print(newArr[i]+"]");
    		}
    	}
    	System.out.println("");//换行
    	
    	/*
    	 * 定义一个整型数组,求出数组元素的和、数组元素的最大值和最小值,并输出所求的结果。
    			arr[]={36,11,90,87,156,2};
    	 */
    	int arr2 [] = new int []{36,11,90,87,156,2};
    	//等价于int arr2[]={36,11,90,87,156,2};
    	int max = 0;//定义最大值
    	int min = 0;//定义最小值
    	int sum = 0;//定义和
    	for(int i=0;i<arr2.length;i++){//遍历数组
    		sum+=arr2[i];//求和
    	}
    	System.out.println("该数组的和为"+sum);//输出和
    
    	for(int i=0;i<arr2.length-1;i++){
    		for(int j1=0;j1<arr2.length-i-1;j1++){
    			if(arr2[j1]>arr2[j1+1]){
    				int temp = arr2[j1];
    				arr2[j1] = arr2[j1+1];
    				arr2[j1+1] = temp;
    			}
    		}
    	}
    	/*for(int i=0;i<arr2.length;i++){
    		System.out.print(arr2[i]+"  ");
    	}*/
    	System.out.println("");
    	max = arr2[arr2.length-1];
    	System.out.print("该数组的最大值为"+max);
    	System.out.println("");
    	min = arr2[0];
    	System.out.print("该数组的最小值为"+min);
    	
    	System.out.println("");
    	
    	/*
    	 * 反转数组: arr3[]={36,11,90,87,156,2,58};
    	 */
    	int arr3 [] = new int []{36,11,90,87,156,2,58};
    	int newArr3 [] = new int [arr3.length];
    	int k=0;
    	for(int i=0;i<arr3.length;i++){
    		newArr3[k] = arr3[arr3.length-1-i];
    		k++;
    	}
    	for(int i=0;i<newArr3.length;i++){
    		if(i==0){
    			System.out.print("["+newArr3[i]+",");
    		}else if(i<newArr3.length-1){
    			System.out.print(newArr3[i]+",");
    		}else{
    			System.out.print(newArr3[i]+"]");
    		}
    	}
    	
    	System.out.println("");
    	/*
    	 * 查表法:在命令行输入1~7的值,利用下标 获取星期几 1~7分别对应星期一~星期天;输出在控制台 星期一
    	 */
    	String str =args[0];
    	int a = Integer.parseInt(str);
    		String str1[]={"","星期一","星期二","星期三","星期四","星期五","星期六","星期天"};
    		if(a<0 || a>8){
    			System.out.print("输入的参数不合法,请重新输入!");
    		}
    		if(a>0 && a<8){
    			for(int i=0;i<str1.length;i++){
    				if(str1[a] == str1[i]){
    					System.out.println("今天是"+str1[i]);
    				}
    			}
    			
    		}
    	
    	
    	
    }
    

    }

    更多相关内容
  • Java输出数组最小值的几种方法

    千次阅读 2020-04-12 12:09:06
    Java输出数组最小值的几种方法 要求: 首先创建一个长度是5的数组 然后给数组的每一位赋予随机整数 找出最小(大)的一个值出来 最小值: 方法一: 该方法来自HOW2J:...

    Java输出数组最小值的几种方法

    要求:

    • 首先创建一个长度是5的数组
    • 然后给数组的每一位赋予随机整数
    • 找出最小(大)的一个值出来

    最小值:

    方法一:

    该方法来自HOW2J:https://how2j.cn/k/array/array-create/280.html

            int array[] = new int[5];
            System.out.println("数组的元素为:");
            for (int i=0;i<array.length;i++){
            	//为数组元素赋予随机数
                array[i] = (int) (Math.random()*100);
                System.out.println(array[i]);
            }
            System.out.println("----------------------------------------------------");
            int target = 100;
            for(int j=0;j<array.length;j++){
                int value = array[j];
                System.out.println("value:"+value);
                if (value<target){
                    target = value;
                    System.out.println("target:"+target);
                }
            }
            System.out.println("方法一,最小值为:"+target);
    

    解析:
    HOW2J站长说一般找最小值都会先给一个很大的值:

    array[i] = (int) (Math.random()*100);
    

    这句代码生成的最大值就是100,无论如何都不会超过100,所以直接定义int target = 100;。然后对数组进行遍历,每遍历一个元素都会赋值给value,然后和target这个最大值进行比较,如果比target小,就把value赋值给target,依次循环判断。
    运行结果:

    数组的元素为:
    53
    29
    3
    50
    47
    ----------------------------------------------------
    value:53
    target:53
    value:29
    target:29
    value:3
    target:3
    value:50
    value:47
    方法一,最小值为:3
    

    方法二:

            int array[] = new int[5];
            System.out.println("数组的元素为:");
            for (int i=0;i<array.length;i++){
                array[i] = (int) (Math.random()*100);
                System.out.println(array[i]);
            }
            System.out.println("----------------------------------------------------");
            int min = array[0];
            for(int i=1;i<array.length;i++)
            {
                if(min>array[i]){
                    min=array[i];
                }
    
            }
            System.out.println("方法二:最小值为:"+min);
        }
    

    在这里插入图片描述


    方法三:

            int array[] = new int[5];
            System.out.println("数组的元素为:");
            for (int i=0;i<array.length;i++){
                array[i] = (int) (Math.random()*100);
                System.out.println(array[i]);
            }
            System.out.println("----------------------------------------------------");
            //对数组进行排序处理
            Arrays.sort(array);
            System.out.println("方法三:最小值为:"+array[0]);
        }
    

    在这里插入图片描述


    方法四:

    通过 Collections 类的 Collections.max() 和 Collections.min() 方法来查找数组中的最大和最小值:

            Integer array[] = new Integer[5];
            System.out.println("数组的元素为:");
            for (int i=0;i<array.length;i++){
                array[i] = (int) (Math.random()*100);
                System.out.println(array[i]);
            }
            System.out.println("----------------------------------------------------");
            //通过 Collections 类的 Collections.max() 和 Collections.min() 方法来查找数组中的最大和最小值:
            int min = (int)Collections.min(Arrays.asList(array));
            int max = (int) Collections.max(Arrays.asList(array));
            System.out.println("方法四:最小值为:"+min);
            System.out.println("方法四:最大值为:"+max);
    

    在这里插入图片描述

    展开全文
  • 主要介绍了Java获取一维数组最小值实现方法,需要的朋友可以参考下
  • java获取数组最大最小值

    千次阅读 2019-12-08 14:18:20
    另外一种方法是假定第一个数为最大或最小值,与其余数依次比较,遍历数组后即可得到最大或最小值。 第一种方法:使用java.util.Arrays工具对数组排序。 int[] arr = new int[] {2,5,1,9,8,6,4}; Arrays.sort(arr)...

    使用java获取数组最大最小值,可以采用两种方法。一种是对数组排序,排序后的数组第一位和最后一位即为最小值和最大值。另外一种方法是假定第一个数为最大或最小值,与其余数依次比较,遍历数组后即可得到最大或最小值。

    第一种方法:使用java.util.Arrays工具对数组排序。

    int[] arr = new int[] {2,5,1,9,8,6,4};
    Arrays.sort(arr);
    Min = arr[0] 
    Max = arr[arr.length - 1]);

    第二种方法:

    获取最大值

    public static int getMax(int[] arr) {
    		int max = arr[0];
    		for(int i = 1;i < arr.length; i++) {
    			if (max < arr[i]) {
    				max = arr[i];
    			}
    		}
    		return max;
    	}

    获取最小值

    public static int getMin(int[] arr) {
    		int min= arr[0];
    		for(int i = 1;i < arr.length; i++) {
    			if (min> arr[i]) {
    				min= arr[i];
    			}
    		}
    		return min;
    	}

    两种方法的优劣:第一种方法由于事先对数组排序,排序后的数组可以同时获取最大最小值,由于使用了java数组工具,代码量更少。第二种方法更为直接,计算量更小,最大值和最小值的计算代码简单,只需要改动循环内的判断符号。两种方法各有优劣,当数组较小且需要同时获取最大最小值时,第一种方法更好。当数组较大时,使用第二种方法显然可以减少计算量,有更好的响应速度。

    测试:使用随机数生成一个大小为10000000的数组,通过获取数组最大值来比较两种方法的计算耗时。

    public static void main(String[] args) {
    		//生成大小为10000000的随机数组
    		int length = 10000000;
    		int[] arr = new int[length];
    		Random random = new Random();
    		for (int i = 0; i < length; i++) {
    			arr[i] = random.nextInt(length);
    		}
    		//第一种方法
    		long time1 = System.nanoTime();
    		Arrays.sort(arr);
    		System.out.println("最大值:" + arr[arr.length - 1]);
    		long time2 = System.nanoTime();
    		System.out.println("用时:" + (time2 - time1) + "纳秒");
    		//第二种方法
    		int max = getMax(arr);
    		System.out.println("最大值:" + max);
    		long time3 = System.nanoTime();
    		System.out.println("用时:" + (time3 - time2) + "纳秒");
    	}

    运行结果:

    对同一个数组进行计算。第一种方法计算需要消耗1331255400纳秒,也就是1.3秒左右。第二种方法耗时9589100纳秒,也就是9.5毫秒。两者速度相差也是非常大的,所以计算大型数组最大最小值还是推荐使用更为高效的第二种方法。

    展开全文
  • Java找出数组最小值元素

    千次阅读 2021-04-17 10:54:03
    通过将min的值与数组的元素进行比较来遍历数组。如果任何元素的值都小于min,则将元素的值存储为min。考虑上面的数组。最初,min将保持值25。在第一次迭代中,min将与11比较。由于11小于25。Min将保持值11。在第二次...

    Java找出数组的最小值元素

    1 说明

    在此程序中,我们需要找出数组中存在的最小元素。这可以通过保持变量min来实现,该变量起初将保留第一个元素的值。通过将min的值与数组的元素进行比较来遍历数组。如果任何元素的值都小于min,则将元素的值存储为min。

    88b8dd4c67a9cf1537de3851c6176268.png

    考虑上面的数组。最初,min将保持值25。在第一次迭代中,min将与11比较。由于11小于25。Min将保持值11。在第二次迭代中,11将与7比较。现在,是7小于11。因此,min将取值为7。继续此过程,直到到达数组的末尾。最后,min将保留数组中的最小值元素。

    2 算法思路

    步骤1:开始

    步骤2:初始化arr [] = {25,11,7,75,56}

    步骤3: min = arr [0]

    步骤4:对(i = 0; i

    步骤5: if(arr [i]

    min = arr [i]

    步骤6:打印“Smallest element in given array:”

    第7步:打印分钟

    步骤8:结束

    3 程序实现

    /**

    * 一点教程网: http://www.yiidian.com

    */

    public class SmallestElement_array {

    public static void main(String[] args) {

    //Initialize array

    int [] arr = new int [] {25, 11, 7, 75, 56};

    //Initialize min with first element of array.

    int min = arr[0];

    //Loop through the array

    for (int i = 0; i < arr.length; i++) {

    //Compare elements of array with min

    if(arr[i]

    min = arr[i];

    }

    System.out.println("Smallest element present in given array: " + min);

    }

    }

    以上代码输出结果为:

    Smallest element present in given array: 7

    展开全文
  • = Integer.MAX_VALUE) {// 获得i的重量的硬币数就可能是获得i-A[j]重量硬币数的方案+1// 拿这个方案数量与原本的方案数打擂台,取最小值就行f[i] = Math.min(f[i - A[j]] + 1, f[i]);}}}if (f[M] == Integer.MAX_...
  • 求数组长度、遍历数组、求最值和数组元素反转
  • 907. 子数组最小值之和 原始题目链接:https://leetcode.cn/problems/sum-of-subarray-minimums/ 给定一个整数数组 arr,找到 min(b) 的总和,其中 b 的范围为 arr 的每个(连续)子数组。 由于答案可能很大,因此...
  • 本题的坑点: ①nums[i]最小值可以是Integer.MIN_VALUE,所以max1~max3的类型为long; ②过滤掉重复数; 二、变体 1.628. 三个数的最大乘积 分类讨论的思想,分析: ①均为正数:找3个最大的数 ②均为负数:找3个...
  • 遍历循环数组求出数组中的最大和最小值
  • Java数组遍历

    2022-05-11 20:38:12
    //遍历二维数组 for(int i = 0;i < arr.length;i++){ for(int j = 0; j < arr[i].length;j++){ sout(arr[i][j]); } sout(); } 数组练习2 public class ArrayExer1 { public static void main(String[]...
  • Java获取数组最大值和最小值案例结果 案例 package com.tedu.cn; //Java获取数组最大值和最小值 public class ArraysMaxMin { public static void main(String[] args) { //数组 int[] arr = new int[]{2,6,55,4...
  • java方法练习
  • 题目描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。...直接遍历一次数组,即可得出最小值。时间复杂度O(n)2.由于原数组是有序的,那么旋转以后,出现的第一个打乱顺序的...
  • 数组遍历 获取最大值最小值 数组的反转 数组的查找 练习 定义方法创建指定大小的数组,并添加指定元素 拼接两个数组 感觉数组的运用还是得靠大量的实操练习才能深刻理解,像遍历取大小值和反转查下标这种系统本身...
  • 数组遍历输出 int [] array={1,2,3,4,5}; int len=array.length;//求数组长度; for(int i=0;i<len;i++) { System.out.println(array[i]); } 求数组最大最小值 1.求数组最大值 int [] array={1,2,3,4,5,6}; ...
  • 遍历循环数组求出数组最大值,最小值以及最大值下标,最小值下标
  • java获取数组最大值和最小值

    千次阅读 2020-08-29 09:48:37
    获取数组最大值和最小值 废话少说,直接上代码,说白了就是基础自己学,方法可以参考 import java.util.Arrays; public class Test_获取最大值和最小值 { public static void main(String[] args) { //定义一个...
  • 以下实例演示了如何通过 Collections 类的 Collections.max() 和 Collections.min() 方法来查找数组中的最大和最小值:Main.java 文件:import java.util.Arrays;import java.util.Collections;public class Main {...
  • 题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的...菜鸡觉得这道题目颇为简单,只要遍历数组array,如果存在array[i] < array[0],那么array[i]一定就是
  • 遍历数组中最大值与最小值

    千次阅读 2020-11-03 11:54:17
    遍历数组中最大值与最小值 代码如下: public class Demo3 { //遍历数组中最大值与最小值; public static void main(String[] args) { double[] arr = {12.9, 53.54, 75.0, 99.1, 3.14}; double min = arr...
  • 定义一个int型的一维数组,包含10个元素,分别赋一些随机数(两位数字) 求出所有元素的最大值最小值总和均值 public class MaxMinSumMean { public static void main(String[] args){ int[] arr = new int[10];...
  • public class ArrayTest1 { public static void main(String[] args) { int[] arr = { 33, 22, 66, 66, 11, 44 }; // 定义参照物 ... System.out.println("数组最小值为:" + min); } }  
  • 1、获取数组中的所有元素,会用到数组遍历 数组遍历,通常用for循环。 public class ArrayDemo { public static void main(String[] args) { ...数组的角标最小值是0,最大值是length-1。 { S
  • scala 数组常用的操作
  • java数组的最大值与最小值

    千次阅读 2021-10-17 13:11:40
    java数组的最大值与最小值 思路: 求最大值 先设置一个变量max,假设数组【0】号最大,并且存放在max中,然后与数组中的其他元素每一个都比较一下,若比max大,则将arr【i】赋值给max,以此类推得到最大值 求最小值...
  • 这题意思是,遍历所有的连续子数组,然后求所有子数组最小值之和。 1)暴力法 遍历所有区间,然后对于每个区间找出最小值求和。这种方法时间复杂度是 O(n^3) ,显然不可行。 2)暴力法优化 对于区间左端点 i ,...
  • Foreach遍历数组

    2020-10-05 21:11:56
    Foreach遍历数组 package zy2; import java.util.Arrays; //3 . 编写Java程序实现:创建一个整数数组{13,10,9,4,5,10,2},输出其中的最大值和最小值。 public class zy3 { public static void main(String[] ...
  • 点击上方蓝字关注我,了解更多咨询C语言查询最大最小值的实现思路:定一个变量存储最大值或最小值,变量的初始值取自数组的第一个元素,然后遍历数组,如果遍历到的元素比变量的值大,就把值赋给变量,遍历结束后则...
  • 你可以简单地使用新的Java 8Stream小号,但你必须一起工作int。importjava.util.Arrays;publicclassTest{publicstaticvoidmain(String[]args){int[]tab={12,1,21,8};intmin=Arrays.stream(tab).min().getAsInt();int...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 36,604
精华内容 14,641
关键字:

java遍历数组输出最小值