【问题标题】:Identify the even, odd, largest and smallest numbers识别偶数、奇数、最大和最小数字
【发布时间】:2016-09-08 23:28:55
【问题描述】:

所以,我已经弄清楚了如何计算输入整数的平均值和数量;但是,我似乎无法弄清楚如何计算出最大、最小、偶数和奇数。我已经尝试了几件事,但它不起作用。

有什么提示或建议吗?我不需要你为我写任何东西,但我将不胜感激。 (这是给学校的,不想作弊,只是需要一些帮助。

import java.util.Scanner;

public class Lab4
{
    public static void main(String[] args)
    {


    double large = 0;
    double small = 0;
    double even = 0;
    double odd = 0;
    double foot = 0;
    double ball = 0;
    double eagles = 0;
    System.out.println("Enter positive or negative integers -- enter zero to quit");
    Scanner scan = new Scanner(System.in);
    boolean philly = false;

    while (!philly)
    {
        eagles = scan.nextDouble();
        if (eagles == 0)
        {
            philly = true;
        }
        else
        {
            foot = foot + eagles;
            ball++;
        }
    }

    if (ball > 0)
    {
        System.out.println("The number of integers entered is: " + ball);
        double avg = foot / ball;
        System.out.println("Average of integers: " + avg);
    }
    else
    {
        System.out.println("No data");
        }


    }
}

【问题讨论】:

  • 也许包括一些你尝试过的东西,这会让我们知道在哪里给你建议和指导

标签: java


【解决方案1】:

跟踪最大值和最小值通常以这种方式完成:

  • 为最大值分配一个变量;将其设置为一个低得离谱的数字(零、负数等)。
  • 为 min 分配一个变量;将其设置为一个高得离谱的数字。
  • 在循环中,如果电流大于最大值,则放入 if() 将最大值设置为电流
  • 类似的 if() 让 min 走另一条路

奇偶数只对整数有意义(即先转换为 int 或无符号数)。使用模数运算符(“奇数”表示 var%1 == 1 等)。

【讨论】:

  • 不过,检查 even 通常更容易。为什么?
  • 有几种方法可以做到这一点,但我发现模数方法是最好的,因为每个人都理解它并且易于维护。 var%2==0 是奇数,var%2==1 是偶数。易于操作和理解。
【解决方案2】:

奇数和偶数请看at this link

对于最高和最低数字,您需要检查新数字是否高于/低于之前的最高/最低数

【讨论】:

    【解决方案3】:

    根据要求提供更多详细信息。我尝试了以下代码的几种变体,但我的最大、最小、偶数和奇数整数都被破坏了。

    import java.util.Scanner;
    
    public class Lab4
    {
        public static void main(String[] args)
        {
    
    
        double large = Integer.MAX_VALUE;
        double small = Integer.MIN_VALUE;
        double evenCount = 0;
        double oddCount = 0;
        double foot = 0;
        double ball = 0;
        double eagles = 0;
        System.out.println("Enter positive or negative integers -- enter zero to quit");
        Scanner scan = new Scanner(System.in);
        boolean philly = false;
    
        while (!philly)
        {
            eagles = scan.nextDouble();
            if (eagles == 0)
            {
                philly = true;
            }
            else
            {
                foot = foot + eagles;
                ball++;
            }
        }
    
        if (eagles%2==0)
        {
            evenCount++;
            System.out.println("The number of even integers is: " + evenCount);
    
        if (eagles%2==1)
        oddCount++;
            System.out.println("The number of odd integers is: " + oddCount);
    
        if (eagles < small)
            small = eagles;
        System.out.println("The smallest integer entered is: " + small);
    
        if (eagles > large)
            large = eagles;
            System.out.println("The largest integer entered is: " + large);
    
        if (ball > 0)
    
            System.out.println("The number of integers entered is: " + ball);
            double avg = foot / ball;
            System.out.println("Average of integers: " + avg);
        }
        else
        {
            System.out.println("No data");
            }
    
    
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2020-05-13
      • 2022-10-17
      • 2011-10-11
      • 1970-01-01
      • 2014-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-27
      相关资源
      最近更新 更多