Java-自学java 静态内部类的简单应用

发布于 2016-12-07 21:28:48 字数 1313 浏览 1077 评论 2

public class Test {
public static void main(String[] args) {
double[] array=new double[5];
for(int i=0;i<array.length;i++)
array[i]=100*Math.random();
System.out.println("源数组:");
for(int i=0;i<array.length;i++)
System.out.println(array[i]);
System.out.println("最大值:"+MaxMin.getResult(array).getMax());
System.out.println("最小值:"+MaxMin.getResult(array).getMin());
}
}

public class MaxMin {
public static class Result{
private double max;
private double min;
public Result(double max,double min)
{
this.max=max;
this.min=min;
}
public double getMax(){
return max;
}
public double getMin(){
return min;
}
}
public static Result getResult(double[] array){
double max=Double.MAX_VALUE;
double min=Double.MIN_VALUE;
for(double i:array){
if(i>max)
max=i;
if(i<min)
min=i;
}
return new Result(max,min);
}
}

结果是:
源数组:
96.50471505502676
10.425705189686607
39.66018980220324
68.51383312221832
17.564259370322688
最大值:1.7976931348623157E308
最小值:4.9E-324

问题:
本人自学java中,这个例子是静态内部类的简单应用,想求源数组的最大值和最小值,
可是结果中的最大值和最小值不是源数组中的值,为什么?怎么修改?求大神帮忙解答一下。。。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

灵芸 2017-05-17 01:42:20

作为java初级水平,是我的话会在getResult(double[] array)方法里面搞一个简单的排序,不知道有什么好的方法或者其他思路?

浮生未歇 2017-04-07 18:03:05

基本逻辑问题, 你的max已经初始化为double的最大值了, 后面不会再变了

double max=Double.MAX_VALUE;
double min=Double.MIN_VALUE;
for(double i:array){
if(i>max)
max=i;
if(i<min)
min=i;
}

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文