A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 焚雨成灰 中级黑马   /  2014-3-16 20:31  /  909 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 焚雨成灰 于 2014-3-16 21:01 编辑

统计double a = 27863654.43432423(可能超范围了,没看,反正就是小数),求位值为n(n为0-9中的一个)的个数。之前做的是整型的还好,换成这个怎么做?

4 个回复

倒序浏览
  1. public class AddTest
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 int num1=12354543;
  6.                 double num2=1235.123512112;
  7.                 System.out.println(number(num1,3));
  8.                 System.out.println(number(num2,1));
  9.         }
  10.         public static int number(Number num,int n)
  11.         {
  12.                 int sum=0;
  13.                 char[] ch=num.toString().toCharArray();
  14.                 for(int i=0;i<ch.length;i++)
  15.                 {
  16.                         if(ch[i]==(n+'0'))
  17.                         {
  18.                                 sum++;
  19.                         }
  20.                 }
  21.                 return sum;
  22.         }
  23. }
复制代码

不知道是不是这个意思

评分

参与人数 1技术分 +1 收起 理由
菜小徐 + 1

查看全部评分

回复 使用道具 举报
String.valueOf(a) 转换为字符串,然后挨个字符查找如何?
回复 使用道具 举报
张贺 发表于 2014-3-16 20:46
不知道是不是这个意思

哈哈,大概是这个意思
回复 使用道具 举报
我做了一下请看如下代码,如果还有什么不明白的可以继续问
  1. import java.util.Map;
  2. import java.util.TreeMap;


  3. public class sumCount {

  4.         public static void main(String[] args) {
  5.                 double d = 27863654.43432423;
  6.                 String s = String.valueOf(d);//把double数据的类型变成字符串
  7.                 char[] ch = s.toCharArray();//把字符串变成字符数组
  8.                 Map<Character ,Integer> treeMap = new TreeMap<Character ,Integer>();//建立一个treemap
  9.                 //遍历字符数组
  10.                 for(int i=0; i<ch.length;i++){
  11.                         //比较集合中是否有这个元素,有的话把value加1在重新放回去,没有的话就设置为1
  12.                         if(treeMap.get(ch[i])==null){
  13.                                 treeMap.put(ch[i], 1);       
  14.                         }
  15.                         else{
  16.                                 treeMap.put(ch[i],treeMap.get(ch[i])+1);
  17.                         }
  18.                 }
  19.                 System.out.println(treeMap.get('2'));//最后你想得到那个数的个数,就输入想对应的字符就行了
  20.         }

  21. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
菜小徐 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马