这是我们java老师布置的题目:
随机产生100个1-100之间的随机值,统计都产生了哪些数字并且重复了多少次
[code=Jav]
import java.util.*;
public class Demo{
public static void main(String[]args){
Random rd=new Random();
HashMap map=new HashMap();
for(int i=0;i<100;i++){
int num=rd.nextInt(100)+1;
if(map.containsKey(num)){
map.put(num,((Integer)map.get(num))+1);
}else{
map.put(num,1);
}
}
Set set=map.entrySet();
Iterator it_set=set.iterator();
while(it_set.hasNext()){
Map.Entry entry=(Map.Entry)it_set.next();
System.out.println(entry.getKey()+"出现了"+entry.getValue()+"次");
}
}
}
[/code]
这个题目是用java中的hashmap集合做的:
hashmap是map接口的实现类,它跟C#中的dectionary差不多:键要求唯一,值可以重复,判断指定键是否存在方法都一样,不同的是:在java中插入了重复的键,它不会报错,而在C#中运行的时候会报错,还有就是在java中放值进去是用put()而不是
add()
我就想在C#中怎么用dectionary做呢?有高手会么?
用其他方式我会做===》下面是我做的:using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
Random ran = new Random();
List<int> nums = new List<int>();
for (int i = 0; i < 100; i++)
{
nums.Add(ran.Next(100) + 1);
} for (int i = 0; i < nums.Count; i++)
{
int count = 0;
for (int j = 0; j < nums.Count; j++)
{
if (nums[i] == nums[j])
{
count++;
}
}
Console.WriteLine(nums[i]+"重复了"+count+"次");
}
}
}
}
随机产生100个1-100之间的随机值,统计都产生了哪些数字并且重复了多少次
[code=Jav]
import java.util.*;
public class Demo{
public static void main(String[]args){
Random rd=new Random();
HashMap map=new HashMap();
for(int i=0;i<100;i++){
int num=rd.nextInt(100)+1;
if(map.containsKey(num)){
map.put(num,((Integer)map.get(num))+1);
}else{
map.put(num,1);
}
}
Set set=map.entrySet();
Iterator it_set=set.iterator();
while(it_set.hasNext()){
Map.Entry entry=(Map.Entry)it_set.next();
System.out.println(entry.getKey()+"出现了"+entry.getValue()+"次");
}
}
}
[/code]
这个题目是用java中的hashmap集合做的:
hashmap是map接口的实现类,它跟C#中的dectionary差不多:键要求唯一,值可以重复,判断指定键是否存在方法都一样,不同的是:在java中插入了重复的键,它不会报错,而在C#中运行的时候会报错,还有就是在java中放值进去是用put()而不是
add()
我就想在C#中怎么用dectionary做呢?有高手会么?
用其他方式我会做===》下面是我做的:using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
Random ran = new Random();
List<int> nums = new List<int>();
for (int i = 0; i < 100; i++)
{
nums.Add(ran.Next(100) + 1);
} for (int i = 0; i < nums.Count; i++)
{
int count = 0;
for (int j = 0; j < nums.Count; j++)
{
if (nums[i] == nums[j])
{
count++;
}
}
Console.WriteLine(nums[i]+"重复了"+count+"次");
}
}
}
}
for (int i = 0; i < 100; i++)
{
nums.Add(Enumerable.Range(1, 100).OrderBy(Guid.NewGuid()));
}
var q = from x in nums
group x by x into Y
where Y.Count()>1
select {Y.Key,Y.Count()};
//用来记录产生的随机数和它出现的次数
Dictionary<int, int> result_Dic = new Dictionary<int, int>();
Random rdom = new Random(); for (int i = 0; i < 100; i++)
{
int temp = rdom.Next(0, 100);
if (result_Dic.ContainsKey(temp))
result_Dic[temp]++;
else
result_Dic.Add(temp, 1);
}result_Dic的key就是出现过的数字,它的value就是出现的次数