I understand how iteration work but may be I need more knowledge about it. Can any one please show me the main difference between these two statements:
while (scanner.hasNext()) {
tokenizer = new StringTokenizer(scanner.nextLine());
numberOfItems = Integer.parseInt(tokenizer.nextToken());
int[] numbers = new int[numberOfItems];
for (int i:numbers) {
numbers[i] = Integer.parseInt(tokenizer.nextToken());
}
System.out.println(isJolly(numbers));
}
while (scanner.hasNext()) {
tokenizer = new StringTokenizer(scanner.nextLine());
numberOfItems = Integer.parseInt(tokenizer.nextToken());
int[] numbers = new int[numberOfItems];
for (int i = 0; i < numberOfItems; i++) {
numbers[i] = Integer.parseInt(tokenizer.nextToken());
}
System.out.println(isJolly(numbers));
}
why these giving me 2 different output?
Iteratorobject. For arrays, the enhanced for loop is syntactic sugar. See Effective Java, Item 46.int[] numscan't spawn you an Iterator. You used the enhanced for loop.