我需要找到数组中的最后一位数字,看它是否等于零。这是我正在使用的代码;
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();
}
}
答案 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; }
希望这有帮助。