新手求问一个关于for循环的问题

lofil 2017-07-20 12:18:00
题目:定义一个长度为10的整数数组,可保存用户通过控制台输入的10个整数,并计算他们的平均值,最大值,最小值
为什么输出最大值和最小值都为0呢?
...全文
697 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
kb43446 2017-07-23
  • 打赏
  • 举报
回复
高级for循环,用的是一个变量来对数组进行遍历,而对变量进行赋值,当然没赋值到数组里啦
丄whistle 2017-07-23
  • 打赏
  • 举报
回复
数组里的值都是默认值0,你并没有对数组进行赋值操作。
MikeDDT009 2017-07-21
  • 打赏
  • 举报
回复
因为使用的是foreach,基本类型你需要使用的是正常的for循环
75闪光雷 2017-07-21
  • 打赏
  • 举报
回复
楼商圈不整洁 (楼上全部正解)
  • 打赏
  • 举报
回复
数组没赋值,默认都是0
戴小码 2017-07-21
  • 打赏
  • 举报
回复
1.简单却容易理解,代码如下: package cn.zy.csdn; import static net.zy.util.Print.*; import java.util.Arrays; import java.util.Scanner; public class Test3 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner s=new Scanner(System.in); int[] nums=new int[5]; int sum=0; for(int i=0;i<nums.length;i++){ print("请输入num"); nums[i]=s.nextInt(); sum+=nums[i]; } Arrays.sort(nums); //print(Arrays.toString(nums)); print("平均值:"+sum/nums.length); print("min:"+nums[0]); print("max:"+nums[nums.length-1]); } }
qq_36585995 2017-07-21
  • 打赏
  • 举报
回复
贴代码,别贴图片
Iterator君 2017-07-21
  • 打赏
  • 举报
回复
hhh 你没有给数组赋值啊。。。你把数组for打印出来应该都是0 楼上正解
lofil 2017-07-20
  • 打赏
  • 举报
回复
数组中的元素不是都重新赋值了吗?
lofil 2017-07-20
  • 打赏
  • 举报
回复
heg123 2017-07-20
  • 打赏
  • 举报
回复
import java.util.*; public class b { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int[]zh=new int[5]; int num=0; for(int i:zh){ System.out.println("请输入整数"); zh[i]=sc.nextInt(); num+=zh[i]; } Arrays.sort(zh); double ave=num/5.0; System.out.println("平均"+ave); System.out.println("最小"+zh[0]); System.out.println("最大"+zh[4]); } }
Abin0406 2017-07-20
  • 打赏
  • 举报
回复
z=sc.nextInt(); 只是将输入的值赋给变量z,和数组没有关系,数组复制应该带下表,z[i] 所以不能使用增强for循环,用标准for循环就ok了,或者在for循环外声明变量int index=0,在for循环内部z[index]=sc.nextInt(); index++;这样也可以
窝 窝 2017-07-20
  • 打赏
  • 举报
回复
不太懂你就先用标准for循环写写吧
bingo5656 2017-07-20
  • 打赏
  • 举报
回复
用的for循环只是将数组里面的值赋值给z,并没有给数组赋值,
Freefish1994 2017-07-20
  • 打赏
  • 举报
回复
因为你用的是增强for循环,循环里的z只是一个局部变量,不是数组中的变量,你给z赋值没有意义

		for(int z : zh){
			System.out.println("请输入整数");
			z = scanner.nextInt();
			num += z;
			// 加上下面这两行才能给数组赋值
			zh[i] = z;
			i++;
		}
wenchi2018 2017-07-20
  • 打赏
  • 举报
回复
放到for循环里面可以么。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧