黑马程序员技术交流社区
标题:
一道小题的升级版,怎么解
[打印本页]
作者:
焚雨成灰
时间:
2014-3-16 20:31
标题:
一道小题的升级版,怎么解
本帖最后由 焚雨成灰 于 2014-3-16 21:01 编辑
统计double a = 27863654.43432423(可能超范围了,没看,反正就是小数),求位值为n(n为0-9中的一个)的个数。之前做的是整型的还好,换成这个怎么做?
作者:
张贺
时间:
2014-3-16 20:46
public class AddTest
{
public static void main(String[] args)
{
int num1=12354543;
double num2=1235.123512112;
System.out.println(number(num1,3));
System.out.println(number(num2,1));
}
public static int number(Number num,int n)
{
int sum=0;
char[] ch=num.toString().toCharArray();
for(int i=0;i<ch.length;i++)
{
if(ch[i]==(n+'0'))
{
sum++;
}
}
return sum;
}
}
复制代码
不知道是不是这个意思
作者:
洋葱骑士
时间:
2014-3-16 20:49
String.valueOf(a) 转换为字符串,然后挨个字符查找如何?
作者:
焚雨成灰
时间:
2014-3-16 21:01
张贺 发表于 2014-3-16 20:46
不知道是不是这个意思
哈哈,大概是这个意思
作者:
王浩龙
时间:
2014-3-16 21:13
我做了一下请看如下代码,如果还有什么不明白的可以继续问
import java.util.Map;
import java.util.TreeMap;
public class sumCount {
public static void main(String[] args) {
double d = 27863654.43432423;
String s = String.valueOf(d);//把double数据的类型变成字符串
char[] ch = s.toCharArray();//把字符串变成字符数组
Map<Character ,Integer> treeMap = new TreeMap<Character ,Integer>();//建立一个treemap
//遍历字符数组
for(int i=0; i<ch.length;i++){
//比较集合中是否有这个元素,有的话把value加1在重新放回去,没有的话就设置为1
if(treeMap.get(ch[i])==null){
treeMap.put(ch[i], 1);
}
else{
treeMap.put(ch[i],treeMap.get(ch[i])+1);
}
}
System.out.println(treeMap.get('2'));//最后你想得到那个数的个数,就输入想对应的字符就行了
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2