黑马程序员技术交流社区
标题:
为什么都是得到数组0角标的值呀, 谁帮我看看出了什么问题。
[打印本页]
作者:
_童金辉
时间:
2014-8-11 01:41
标题:
为什么都是得到数组0角标的值呀, 谁帮我看看出了什么问题。
package com.itheima;
import java.util.Scanner;
/**
*
* 第五题:编写程序接收键盘输入的5个数,装入一个数组,并找出其最大数和最小数。
*
* @author Administrator
*
*/
public class Test5 {
public static void main(String[] args)
{
int[] arr=new int[5];//创建一个元素个数为5的整形数组
Scanner in=new Scanner(System.in);//输入流
for(int i=0;i<arr.length;i++)//输入数组元素
{
// System.out.println("输入第"+(i+1 )+"个数:");
arr[i]=in.nextInt();
}
int max=Max(arr);//调用求最大值的函数
int min=Min(arr);//调用求最小值的函数
System.out.println("最大值="+max+", 最小值="+min);
}
static int Min(int[] arr)//求最小值的函数
{
int min=0;
int small=arr[min];
for(int i=0;i<arr.length;i++)
{
if(arr[i]<small)
{
min=i;
small= arr[min];
}
}
return small;//返回最小值
}
static int Max(int[] arr)//求最大的得函数
{
int max=0;
int big=arr[max];
for(int j=0;j<arr.length;j++)
{
if(arr[j]>arr[max])
{
max=j;
max= arr[max];
}
}
return big;//返回最大值
}
}
作者:
dispensable
时间:
2014-8-11 02:21
:L顶楼上的,max= arr[max];错了,应该是big=arr[max]
而且你这代码min和max函数定义得有两点问题:
1 方法名首字母要小写
2 你定义的big 和max 两者有一个是多余的,我修改一下max方法,仅供参考,修改代码如下:
static int max(int[] arr)//求最大的得函数
{
int max=arr[0];
for(int j=1;j<arr.length;j++)
{
if(arr[j]>max)
{
max=arr[j];
}
}
return max;//返回最大值
复制代码
作者:
范靖明
时间:
2014-8-11 08:59
在arr[j]>arr[max];这错了,应该是arr[j]>arr[big];
作者:
_童金辉
时间:
2014-8-11 09:57
哦, 我昨天也昨天有点困,, 谢谢了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2