我正在编写一个程序,我必须写出我给出的数字,直到我得到42号。
例如:
输入 :
5
6
4
42
1
0
输出
5
6
4
到目前为止,我已经尝试过这个:
package com.logical01;
import java.util.Scanner;
public class MainProgram {
public static void main(String[] args) {
int[] array = new int[100];
Scanner in = new Scanner(System.in);
System.out.println("Enter the number of elements: ");
int n_Elements = in.nextInt();
System.out.println("Enter the values now: ");
for (int i = 0; i < n_Elements; i++) {
array[i] = in.nextInt();
}
for (int i = 0; i < n_Elements; i++) {
if (i == 42) {
break;
}
System.out.println("\n"+array[i]);
}
}
}
然而,这个程序不起作用;它会将相同的值写回(而不是在有42时停止)。
答案 0 :(得分:3)
您需要从
更改if(i == 42)
到
(if array[i] == 42)
i
在迭代时保存值。
答案 1 :(得分:1)
您需要将循环更改为:
for(int i=0; i<n_Elements; i++){
if(array[i]==42){
break;
}
这是因为你想迭代数组并检查索引i
的值是否为42,
e.g。 array[4] = {1,2,42,3};
然后循环遍历数组并且:
array[0] == 42 false
array[1] == 42 false
array[2] == 42 true
- &gt; break;