[英]How do I implement an array to see how many times a number occurs in my code?
[英]How many times a number occurs
我需要编写一个程序来读取一个整数数组和一个 integer 数字n 。 程序必须检查n在数组中出现了多少次。
输入:
第一行包含输入数组的大小。
第二行包含由空格分隔的数组元素。
第三行包含 n。
Output:
结果只有一个非负 integer 数字。
我的代码:
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int len = scanner.nextInt();
int[] array = new int[len];
int n = scanner.nextInt();
for (int i = 0; i < len; i++){
array[i] = scanner.nextInt();
}
int counter = 0;
for (int i = 0; i < len; i++) {
if (array[i] == n) {
counter++;
}
}
System.out.println(counter);
}
}
测试输入:
6
1 2 3 4 2 1
2
我的结果: 1
我的问题是为什么int n = scanner.nextInt();
读“1”。 它应该是“2”。
读取n变量是在错误的地方。 解决方案:
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int len = scanner.nextInt();
int[] array = new int[len];
for (int i = 0; i < len; i++){
array[i] = scanner.nextInt();
}
int counter = 0;
int n = scanner.nextInt();
for (int i = 0; i < len; i++) {
if (array[i] == n) {
counter++;
}
}
System.out.println(counter);
}
}
您应该在读取数组后读取 n ,如下所示:
Scanner scanner = new Scanner(System.in);
int len = scanner.nextInt();
int[] array = new int[len];
for (int i = 0; i < len; i++){
array[i] = scanner.nextInt();
}
int n = scanner.nextInt();
int counter = 0;
for (int i = 0; i < len; i++) {
if (array[i] == n) {
counter++;
}
}
System.out.println(counter);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.