首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >需要在没有数组的情况下获得最高值和最低值。

需要在没有数组的情况下获得最高值和最低值。
EN

Stack Overflow用户
提问于 2013-11-21 03:24:41
回答 4查看 1.1K关注 0票数 1

我正在做一个任务,我必须花7天的每周,每一个作为变量,并创建两个函数。一个是7天的平均温度,另一个是7天中最冷和最热的温度。我们不允许使用数组。我知道这是很多无用的代码,但这是作业要求的。

我的问题是,我可以找出如何找到最小值和最大值。有什么建议吗?

代码语言:javascript
运行
复制
import java.util.Scanner;

public class Temperature {
public static void getAverage(double day1, double day2, double day3, double day4, 
                              double day5, double day6, double day7){
double average = (day1 + day2 + day3 + day4 + day5 + day6 + day7)/7;

System.out.printf("The average is: %.2f\n", average);
}
public static void getHotAndCold( double day1, double day2, double day3, double day4, 
                               double day5, double day6, double day7){

}

public static void main(String [] args){
Scanner s = new Scanner(System.in);
double day1, day2, day3, day4, day5, day6, day7;

System.out.println("Enter the temperatures for each day of the week starting with,     Monday");
day1 = s.nextDouble();

System.out.println("Tuesday");
day2 = s.nextDouble();

System.out.println("Wednesday");
day3 = s.nextDouble();

System.out.println("Thursday");
day4 = s.nextDouble();

System.out.println("Friday");
day5 = s.nextDouble();

System.out.println("Saturday");
day6 = s.nextDouble();

System.out.println("Sunday");
day7 = s.nextDouble();

getAverage(day1, day2, day3, day4, day5, day6, day7);
 }
}
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-11-21 03:38:32

你可以这样做。使用Math.max获得一对的最大值,然后继续做,直到第七天。最后的比较给出了全局变量的值。

代码语言:javascript
运行
复制
double max;
double min;

public static void getMaxAndMin(
                   double day1, double day2, double day3, double day4, 
                                double day5, double day6, double day7){

    max = Math.max(day1, day2);
    max = Math.max(max, day3);
    max = Math.max(max, day4);
    max = Math.max(max, day5);
    max = Math.max(max, day6);
    max = Math.max(max, day7);

    min = Math.min(day1, day2);
    min = Math.min(min, day3);
    min = Math.min(min, day4);
    min = Math.min(min, day5);
    min = Math.min(min, day6);
    min = Math.min(min, day7);

}
票数 1
EN

Stack Overflow用户

发布于 2013-11-21 03:29:25

你可以这样做:

代码语言:javascript
运行
复制
public static void getHotAndCold( double day1, double day2, double day3, double day4, 
                               double day5, double day6, double day7)
{
    double min = day1;
    double max = day1;

    if (day2 < min)
    {
        min = day2;
    }
    if (day2 > max)
    {
       max = day2;
    }

    // and so on.
}
票数 0
EN

Stack Overflow用户

发布于 2013-11-21 04:02:13

如果您真的想循环(或者只是恶意的):

代码语言:javascript
运行
复制
// create your own node to link days
public static class Day{
    double temp;
    Day next;
    Day(double temp, Day next){
        this.temp = temp;
        this.next = next;
    }
}

public static double coldest(Day day){
    double  minTemp = day.temp;
    while((day = day.next) != null) minTemp = Math.min(day.temp, minTemp);
    return minTemp;
}

//etc...

public static void main(String... args){
    Day days = new Day(70, new Day(60, new Day(65, new Day(45,
               new Day(83, new Day(72, new Day(55,null)))))));

    System.out.println("Coldest:" + coldest(days));
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20111828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档