【问题标题】:Find the Last Digit In An Array查找数组中的最后一位
【发布时间】:2014-09-30 23:21:11
【问题描述】:

我需要找到数组中的最后一个数字,看看它是否等于零。这是我正在使用的代码;

import java.util.Scanner;

public class NrOccurrence 
{
    public static void main(String[] args) 
    {
        Scanner scan = new Scanner(System.in);
        System.out.print("Enter the integers between 1 and 100: ");
        int[] numbers = new int[100], times = new int[100];
        boolean zero = false;
        while (zero == false)
        {
            for (int a = 0; a <= numbers.length; a++)
            {
                numbers[a] = scan.nextInt();
                times[a]++;
                if (numbers.equals(0))
                {
                    zero = true;
                }
            }
        }
        for (int b = 0; b <= numbers.length; b++)
        {
            System.out.println(numbers[b] + " occurs " + times[b] + " times");
        }
        scan.close();
    }
}

【问题讨论】:

  • 你有什么问题?
  • 不是你的问题——但我感觉times[a]++; 应该写成times[numbers[a]]++;

标签: java arrays numbers int


【解决方案1】:

创建一个这样的方法:

private boolean isLastItemZero(int[] numbers)
{
    boolean isLastItemZero = false;

    if ((numbers != null) && (numbers.length > 0))
    {
        isLastItemZero = numbers[numbers.length - 1] == 0;
    }

    return isLastItemZero;
}

并在您读完用户的所有数字后调用它。

【讨论】:

    【解决方案2】:

    首先for (int a = 0; a &lt;= numbers.length; a++) 会给你IndexOutOfBoundsException。Java 使用 0 基索引,这意味着大小为narray 的索引最高可达n-1

    更改发送至for (int a = 0; a &lt; numbers.length; a++)

    同样的事情for (int b = 0; b &lt;= numbers.length; b++)

    其次,我不确定您要在这里检查什么:

     if (numbers.equals(0))
     {
         zero = true;
     }
    

    但你可以这样做:

    if(numbers[i] == 0);
    

    现在,如果您想检查数组中的最后一个元素是否为 0,您只需执行以下操作:

    if(numbers[numbers.length - 1] == 0)
         //do something
    

    【讨论】:

      【解决方案3】:

      根据定义,如果一个数除以10的余数是0,那么最后一位一定是0。所以你只需要;

      if(numbers[i] % 10 == 0) { zero = true; }
      

      希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-11-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多