![](/img/trans.png)
[英]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.