首页 > 电脑

java在主函数调用时未出现正确结果

更新时间2019-03-20 23:33:36

package shiep;

import java.util.Random;

public class Pratice05 {

  public static void main(String[] args){

  int a[];

  int i;

  a=new int[10];

  Random r=new Random();

  for(i=0;i<10;i++){

int j=r.nextInt(100);

a[i]=j;

  }

  for(i=0;i<10;i++){

  System.out.println(""+a[i]);

  }

  int m=max(a);

  int n=min(a);

  System.out.println(""+m);

  System.out.println(""+n);

  }  

  public static int max(int a[]){

int b[]=new int[10];

int max=b[0];

int i;

for(i=1;i<10;i++){

       if(b[i]>max)

    max=b[i];

 

}

return max;

  }

 

public static int min(int a[]){

int b[]=new int[10];

int min=b[0];

int i;

for(i=1;i<10;i++){

     if(b[i]<min)

  min=b[i];

}

return min;

  }

}

调用比较输出最大最小函数怎么是两个零

你对变量的作用域及参数的应用的误区

在你的  public static int max(int a[]){中(min同理)

int b[]=new int[10];

这个b初始化全是0,与a没有一毛关系,也就是你的主程序传过来的a没有任何作用

你计算的是b的最大,小值,它当然是0了

所以修改的话,最简单的

 public static int max(int a[]){

int b[]=new int[10];

 public static int max(int b[]){

////int b[]=new int[10];删除这一行

对min同样处理


相关标签:java

上一篇:编写一个程序,求下面算数表达式的值x+a%3*(int)(x+y)%2/4

下一篇:少儿计算机编程培训有必要吗?