黑马程序员技术交流社区
标题:
很简单,但是不知道怎么就出错了,求高手指点
[打印本页]
作者:
黑马肖凯骏
时间:
2012-3-15 09:32
标题:
很简单,但是不知道怎么就出错了,求高手指点
public class ArryMax {
public static void main(String[] args)
{
int a[]={1,2,4,342,56,67,78,45};
System.out.println(getMax(a));
System.out.println(getMin(a));
getSum(a);
}
public static int getMax(int a[])
{
int Max=a[0];
for(int i=1;i<a.length;i++)
{
if(Max<a[i])
{
int temp=Max;
Max=a[i];
a[i]=temp;
}
}
return Max;
}
public static int getMin(int a[])
{
int Min=a[0];
for(int i=1;i<a.length;i++)
{
if(Min>a[i])
{
int temp=Min;
Min=a[i];
a[i]=temp;
}
}
return Min;
}
public static void getSum(int a[])
{
int sum=0;
for(int i=0;i<a.length;i++)
{
sum+=a[i];
System.out.print(a[i]+",");
}
System.out.println();
System.out.println(sum);
}
}
复制代码
输出的结果是:
342
1
1,1,2,4,56,67,78,45, 我想问下,这一行的头部怎么会插入一个 1 呢?而且我上面只是做了交换数据操作,怎么会少了一个数字呢!
254 求和运算的结果是错误的
作者:
张华廷
时间:
2012-3-15 09:41
public class ArryMax {
public static void main(String[] args)
{
int a[]={1,2,4,342,56,67,78,45};
System.out.println(getMax(a));
System.out.println(getMin(a));
getSum(a);
}
public static int getMax(int a[])
{
int Max=a[0];
for(int i=1;i<a.length;i++)
{
if(Max<a[i])
{
Max=a[i];
}
}
return Max;
}
public static int getMin(int a[])
{
int Min=a[0];
for(int i=1;i<a.length;i++)
{
if(Min>a[i])
{
Min=a[i];
}
}
return Min;
}
public static void getSum(int a[])
{
int sum=0;
for(int i=0;i<a.length-1;i++)
{
sum+=a[i];
System.out.print(a[i]+",");
}
System.out.println();
System.out.println(sum);
}
}
作者:
李深山
时间:
2012-3-15 09:51
class ArryMax {
public static void main(String[] args)
{
int a[]={1,2,4,342,56,67,78,45};
System.out.println(getMax(a));
System.out.println(getMin(a));
getSum(a);
}
public static int getMax(int a[])
{
int Max=a[0];
for(int i=1;i<a.length;i++)
{
if(Max<a[i])
{
int temp=a[i];
Max=temp;
}
}
return Max;
}
public static int getMin(int a[])
{
int Min=a[0];
for(int i=1;i<a.length;i++)
{
if(Min>a[i])
{
int temp=a[i];
Min=temp;
}
}
return Min;
}
public static void getSum(int a[])
{
int sum=0;
for(int i=0;i<a.length;i++)
{
sum+=a[i];
System.out.print(a[i]+",");
}
System.out.println();
System.out.println(sum);
}
}
作者:
李深山
时间:
2012-3-15 09:52
这就对啦。
作者:
Destiny
时间:
2012-3-15 10:03
本帖最后由 Destiny 于 2012-3-15 10:05 编辑
你在求最大值最小值的时候为什么要交换元素呢???直接把那个值赋给MAX或者MIN就好了啊 ~ {:soso_e113:}
public class ArrayMax {
public static void main(String[] args)
{
int a[]={1,2,4,342,56,67,78,45};
System.out.println("最大数是:"+getMax(a));
System.out.println("最小数是:"+getMin(a));
System.out.println("总和是:"+getSum(a));
}
public static int getMax(int a[])
{
int Max=a[0];
for(int i=1;i<a.length;i++)
{
if(Max<a[i])
{
// int temp=Max;这句删除
Max=a[i];
// a[i]=temp;这句删除
}
}
return Max;
}
public static int getMin(int a[])
{
int Min=a[0];
for(int i=1;i<a.length;i++)
{
if(Min>a[i])
{
//int temp=Min;这句删除
Min=a[i];
// a[i]=temp;这句删除
}
}
return Min;
}
public static int getSum(int a[])
{
int sum=0;
for(int i=0;i<a.length;i++)
{
sum+=a[i];
System.out.print(a[i]+",");
}
System.out.println();
return(sum);
}
}
复制代码
作者:
杨波
时间:
2012-3-15 10:06
class ArryMax {
public static void main(String[] args)
{
int a[]={1,2,4,342,56,67,78,45};
System.out.println(getMax(a));
System.out.println(getMin(a));
getSum(a);
}
public static int getMax(int a[])
{
int Max=a[0];
for(int i=1;i<a.length;i++)
{
if(Max<a[i])
{
int temp=a[i];
Max=temp;
}
}
return Max;
}
public static int getMin(int a[])
{
int Min=a[0];
for(int i=1;i<a.length;i++)
{
if(Min>a[i])
{
int temp=a[i];
Min=temp;
}
}
return Min;
}
public static void getSum(int a[])
{
int sum=0;
for(int i=0;i<a.length;i++)
{
sum+=a[i];
System.out.print(a[i]+",");
}
System.out.println();
System.out.println(sum);
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2