找到数组中的最后一个数字

时间:2014-09-30 23:21:11

标签: java arrays numbers int

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

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();
    }
}

3 个答案:

答案 0 :(得分:1)

创建一个这样的方法:

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

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

    return isLastItemZero;
}

一旦你读完了用户的所有数字,就打电话给它。

答案 1 :(得分:0)

首先for (int a = 0; a <= numbers.length; a++)将为您提供IndexOutOfBoundsException .Java使用0个基址索引,这意味着array大小为n的索引最多且包括{{1} }。

将其改为n-1

同样的事情for (int a = 0; a < numbers.length; a++)

第二,我不确定你要检查的是什么:

for (int b = 0; b <= numbers.length; b++)

但你可以这样做:

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

现在,如果您想检查数组中的最后一个元素是if(numbers[i] == 0); ,您可以这样做:

0

答案 2 :(得分:0)

根据定义,如果数字的余数除以10为0,那么最后一位必须为0.所以你只需要;

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

希望这有帮助。