Java 初始化数组并计算某个范围内的数字频率
//注意这是一个练习问题 我正在尝试初始化一个具有50个整数值的数组,并计算范围为10的数字的频率。。19.(带有用户输入) 到目前为止,我的用户输入只允许输入10到19之间的数字,但我的下一步和问题是计算用户在输入中使用的数字的频率。如果您能帮助我们开始下一步,我们将不胜感激Java 初始化数组并计算某个范围内的数字频率,java,arrays,range,frequency,Java,Arrays,Range,Frequency,//注意这是一个练习问题 我正在尝试初始化一个具有50个整数值的数组,并计算范围为10的数字的频率。。19.(带有用户输入) 到目前为止,我的用户输入只允许输入10到19之间的数字,但我的下一步和问题是计算用户在输入中使用的数字的频率。如果您能帮助我们开始下一步,我们将不胜感激 import java.util.Scanner; public class Ex1partA { public static void main(String[] args) { Scanne
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);
}
}
}
import java.util.Scanner;
公共类Ex1partA{
公共静态void main(字符串[]args){
扫描仪kbin=新的扫描仪(System.in);
整数列表[]=新整数[50];
int i=0;
System.out.print(“\n\t输入10到19之间的数字:\n”);
而(i<50){
int value=kbin.nextInt();
如果(值>=10&value有另一个长度为10的数组。
在数组的第i个单元格中,添加插入值i+10的次数。
然后只需标准化(除以50)。定义一个频率数组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]);
}
int[]freq=new int[10];//声明大小为10的数组
而(i<50){
int value=kbin.nextInt();
如果(value>=10&value我做过这个,下面是代码,
`导入java.util.ArrayList;
导入java.util.HashMap;
导入java.util.Iterator;
导入java.util.Map;
导入java.util.Scanner;
导入java.util.Set;
导入java.util.Map.Entry;
公共类MapMagic{
公共静态void main(字符串[]args){
Map Map=newhashmap();
扫描仪kbin=新的扫描仪(System.in);
整数列表[]=新整数[50];
int i=0;
System.out.println(“输入限制:”);
int limit=kbin.nextInt();
System.out.println(“输入元素”);
while(i
你的意思是要计算50个数字中有多少在某个范围内?根据用户的输入构建一个映射。键是用户输入,值是用户给出该数字的次数。只需映射[输入]++
或使用用户输入的值(在范围检查后)作为数组的索引,并在该索引处递增元素。除非您想记住输入数字的顺序,否则无需保存值。&&是快捷运算符。&将起作用。Ya ingo。我将尝试使用此方法。
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());
}
}
}
`