//请注意这是一个练习题 我正在尝试初始化一个包含50个整数值的数组,并计算10 ... 19范围内的数字频率(使用用户输入) 到目前为止,我的用户输入仅允许输入10到19之间的数字,但我的下一步和问题是计算用户在输入中使用的数字的频率。我们将非常感谢您开始下一步的任何帮助。
import java.util.Scanner;
public class Ex1partA {
public static void main(String[] args) {
Scanner kbin = new Scanner(System.in);
int list[]=new int[50];
int i=0;
System.out.print("\n\tInput numbers from 10 to 19: \n");
while (i < 50) {
int value = kbin.nextInt();
if (value >= 10 & value <= 19) {
list[i] = value;
i++;
} else {
System.out.println("!! Bad number !!");
}
}
for (int value : list) {
System.out.println(" "+value);
}
}
}
答案 0 :(得分:0)
有另一个长度为10的数组。
在数组的第i个单元格中,添加插入值i + 10的次数
然后正常化(除以50)。
答案 1 :(得分:0)
定义频率数组freq[]
int[] freq= new int[10];// Declare an array of size 10
while (i < 50){
int value = kbin.nextInt();
if (value >= 10 & value <= 19) {
list[i] = value;
freq[value-10]++; // Count the number in array position.
i++;
} else {
System.out.println("!! Bad number !!");
}
}
//Now, display the frequency of number.
for(int k=0;k<freq.length;k++){
System.out.println("value : " +(k+10)+" frequency : "+freq[k]);
}
答案 2 :(得分:0)
I worked on this and here is the code,
`import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
import java.util.Map.Entry;
public class MapMagic {
public static void main(String[] args) {
Map<Integer,Integer> map=new HashMap<Integer, Integer>();
Scanner kbin = new Scanner(System.in);
int list[]=new int[50];
int i=0;
System.out.println("Enter limit:");
int limit = kbin.nextInt();
System.out.println("Enter Elements");
while (i < limit) {
int key = kbin.nextInt();
if(map.get(key)==null){
map.put(key,1);
}
else{
int temp=map.get(key);
temp++;
map.put(key,temp);
}
i++;
}
System.out.println("Occurence");
Set<Entry<Integer, Integer>> var =map.entrySet();
for (Iterator iterator = var.iterator(); iterator.hasNext();) {
Entry<Integer, Integer> entry = (Entry<Integer, Integer>) iterator.next();
System.out.println(entry.getKey()+":"+entry.getValue());
}
}
}
`