关于求最小值的问题!

关于求最小值的问题!

package com.LianXi;
import java.util.Scanner;

public class Lianxi1 {

			public static void main(String[] args) {
				Scanner sc=new Scanner(System.in);
				System.out.println("请输入10个整数:");
				int[] n=new int[10];
				int max=n[0];
				int min=n[0];
				float sum=0;
				for(int i=0;i<n.length;i++){
					n[i]=sc.nextInt();
					if(max<n[i]){
						max=n[i];
					}
						if(min>n[i]){
							min=n[i];
						}
						sum+=n[i];
						
				}
				System.out.println("最大值:"+max);
				System.out.println("最小值:"+min);
				System.out.println("平均值:"+sum/n.length);
			}

		}

	

为什么输出最小值总是0??

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

不是最小值总是0。是你给min赋的初值为0,如果输入的10个数中没有比0小的数时,if(min>n[i])永远都判断为假,所以最后min的值仍为最初赋值的0。只有当你输入的10个数中有比0小的数时,你的代码才能得到正确的结果。

建议先向数组中输入10个数,然后定义max 和min,并且将这两个变量初始化为数组的第一个元素,然后遍历数组按你原来的代码找最大值赋值给max,最小值赋值给min。祝学习愉快~

  • 一天不见i 提问者 #1
    我们的题目要求就是从键盘输入10个数字,这样的话怎么改进代码?
    2017-12-08 19:08:52
  • 好帮手慕珊 回复 提问者 一天不见i #2
    先定义数组,然后循环输入10个数存入到数组中,然后再用一个循环去遍历数组求最大值和最小值。
    2017-12-09 21:42:37
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师