初始化数组并计算范围内数字的频率

时间:2013-11-26 12:32:09

标签: java arrays range frequency

//请注意这是一个练习题 我正在尝试初始化一个包含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);
        }
    }
}

3 个答案:

答案 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());
        }
    }
}
`