博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 实现新浪微博内容计数器 Java问题通用解决代码
阅读量:5132 次
发布时间:2019-06-13

本文共 1079 字,大约阅读时间需要 3 分钟。

http://www.mr3g.net/?p=220
参考sina的js版本而来,费弄最多的时间就是java对ansii码的判断了,js直接就是isascii()函数就可以实现了,java还要想办法
最后参考了两篇文章,才整出来这个判断
 
 
js代码:

 
- (int)sinaCountWord:(NSString*)s
{
    int i,n=[s length],l=0,a=0,b=0;
    unichar c;
    for(i=0;i<n;i++){
        c=[s characterAtIndex:i];
        if(isblank(c)){
            b++;
        }else if(isascii(c)){
            a++;
        }else{
            l++;
        }
    }
    if(a==0 && l==0) return 0;
    return l+(int)ceilf((float)(a+b)/2.0);
}

参考js版本,java实现代码:

      
/**
       * 新浪微博内容计数器
       *
       * 
@param 
s
       * 
@return
       */
      
public 
static 
int 
sinaCountWord(String s) {
            
int 
i, n = s.length(), l = 0, a = 0, b = 0;
 
            
char 
c;
 
            
for 
(i = 0; i < n; i++) {
 
                  c = s.charAt(i);
 
                  
if 
(Character.isWhitespace(c)) {
 
                        b++;
 
                  } 
else 
if 
(c >= 0 && c <= 127) {
 
                        
// } else if (!Character.isLetter(c)) {
                        a++;
 
                  } 
else 
{
                        l++;
 
                  }
 
            }
 
            
if 
(a == 0 && l == 0)
                  
return 
0;
 
            
return 
l + (
int
) Math.ceil((
float
) (a + b) / 2.0);
      }

 
参考文章链接:
两个判断方法原理是一样的,只不过一个实现的是用十进制判断,另一个是16进制
//这个判断实现的是,用数字来判断,就是16进制0x00的十进制值
if(ch>=127||ch<0)return false;
 
//这个判断实现的是,用字节比较16进制(0x00)内容
#define UTF8_ASCII(byte) (((unsigned char)(byte)>=0x00)&&((unsigned char)(byte)<=0x7F)) 
 
 

转载于:https://www.cnblogs.com/svennee/p/4082832.html

你可能感兴趣的文章
[super performSelector:sel]探秘
查看>>
最小生成树的算法
查看>>
lasso回归的原理
查看>>
一点对后缀自动机的理解 及模板
查看>>
EF架构学习第一章
查看>>
架构之美随笔四------最终用户应用架构
查看>>
jmeter安装和使用-个人总结
查看>>
DBA_OBJECTS
查看>>
(原)python爬虫入门(2)---排序爬取的辽宁科技大学热点新闻
查看>>
事件与委托
查看>>
关于 数据库 my_slq的 安装及其卸载
查看>>
【leetcode刷题笔记】Roman to Integer
查看>>
《PRML.Translation》pdf
查看>>
第四章 Spring.Net 如何管理您的类___统一资源访问接口
查看>>
thikPHP框架部署
查看>>
问你觉得iOS7为什么要扁平化,扁平化和之前的比有什么优势
查看>>
撸.NET Core的正确姿势
查看>>
【SAM】loj#6401. 字符串
查看>>
oc UIAlertController封装
查看>>
android 第三方框架
查看>>