简约设计の艺术

讨论软件制造过程中的艺术与工程,软件哲学

用户操作
[即时聊天] [发私信] [加为好友]
88250ID:DL88250
1426991次访问,排名12好友181人,关注者252
Linux、Java、C/C++,OpenSource热爱者,擅长JavaSE/JavaEE开发,熟悉JSF、EJB、Spring、JPA、OSGi等框架应用的架构,目前正在深入学习算法、OOAD、TDD以及敏捷实践。
DL88250的文章
原创 857 篇
翻译 10 篇
转载 170 篇
评论 754 篇
88250的公告






最近评论
DL88250:....自己改下,应该是环境的问题。
coco:能不能把正确的放上去

急用

你可以联系QQ:641530034

谢谢
coco:用cfree 运行下怎么有24个错误呀
youjianbo_han_87:可惜了些资料啊,虽然说不一定每一本都会看,但是要用到的时候可以参考下,这才是书真正的价值,呵呵
DL88250:哎。。。。1年多以前,我格了我的硬盘。。。。
文章分类
收藏
    相册
    Beyond
    壁纸收集
    动漫Kiss图图
    我的珍藏
    我的桌面
    CSDN专家Blog
    孟岩的专栏
    袁萌的专栏
    Ubuntu/Linux相关
    ChinaUnix
    Compiz Themes
    Compiz-Fusion
    deviantART Search
    GetDeb
    Gnome-Look
    KDE-Look
    LinuxToy
    Linux桌面中文网
    Ubuntu中文官方论坛
    Ubuntu桌面中文网
    博友
    老李的Blog
    代码示例
    C++代码示例
    HTML代码示例
    Java Code examples
    技术站点
    Apache Software
    CSDN
    Eclipse.org
    Extreme Programming
    Facelets DevDoc
    hibernate.org
    IBM软件技术
    JavaFX Home
    JavaFX Script Reference
    JavaWorld@TW
    Java开源大全
    JBoss.org
    LEX & YACC Page
    NetBeans中文社区
    Open Source Initiative
    PHP 官方
    Ruby on Rails
    Ruby中文社区论坛
    SOURCEFORGE.NET
    Springframework.org
    Struts Framework
    Sun中国技术社区
    UML官方
    图书下载
    CSDN下载频道
    e 书时空
    IT e Book
    中华电脑书库
    中国 E 书网
    中国 IT 认证实验室
    中文电子书网
    偶要雷锋 - 分享社区
    我爱 e 书
    网络中国 - E 书
    我的偶像 :-)
    Alan Turing
    Bjarne Stroustrup's Homepage
    Don Knuth's Home Page
    Martin Fowler
    Richard Stallman's Home Page
    Uncle Bob (Robert C. Martin)
    我的朋友
    Eleven的专栏
    Eric.Gao的空间
    Meteor的专栏
    mmchsusan的主页
    solonote的专栏
    Vanessa的小窝
    ZhiBaoDeng的专栏
    zyofprogrammer的学习历程
    先知罗庄的专栏
    光光的Blog~
    师傅dorainm的Blog
    皮皮的空间
    秋歌的专栏
    金秋风采
    阿明的专栏
    存档
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 C#控制台的打印对齐问题收藏

    新一篇: Java入门问题讨论贴 | 旧一篇: 戒酒

    问题是这样的,我想打印一个类似表单的东西,其中各项的长度不一样,要求要对齐显示,如下例:

    一开始我用的是Console.WriteLine("{0, 9}{1, 20}....", code, name, ....),问题出现了:在“名称”这上栏里有中文字符,因为C#里用的是Unicode,所以一个汉字将会被格式函数识别成只占一个长度,最终导致不能对齐显示。。。。使用string的PadLeft等等函数问题也是一样的。。。。

    可以使用下面这两个函数解决问题:

    public static int TrueLength(string str)
    {
        
    int lenTotal = 0;
        
    int n = str.Length;
        
    string strWord = "";
        
    int asc;
        
    for (int i = 0; i < n; i++)
        {
            strWord 
    = str.Substring(i, 1);
            asc 
    = Convert.ToChar(strWord);
            
    if (asc < 0 || asc > 127)
            {
                lenTotal 
    = lenTotal + 2;
            }
            
    else
            {
                lenTotal 
    = lenTotal + 1;
            }
        }
        
    return lenTotal;
    }

    public static string PadRightTrueLen(string strOriginal, int maxTrueLength, char chrPad, bool blnCutTail)
    {
        
    string strNew = strOriginal;
        
    if (strOriginal == null || maxTrueLength <= 0)
        {
            strNew 
    = "";
            
    return strNew;
        }

        
    int trueLen = TrueLength(strOriginal);
        
    if (trueLen > maxTrueLength)
        {
            
    if (blnCutTail)
            {
                
    for (int i = strOriginal.Length - 1; i > 0; i--)
                {
                    strNew 
    = strNew.Substring(0, i);
                    
    if (TrueLength(strNew) == maxTrueLength)
                    {
                        break;
                    }
                    
    else if (TrueLength(strNew) < maxTrueLength)
                    {
                        strNew 
    += chrPad.ToString();
                        
    break;
                    }
                }
            }
        }
        
    else// 填充
        {
            
    for (int i = 0; i < maxTrueLength - trueLen; i++)
            {
                strNew 
    += chrPad.ToString();
            }
        }
            
    return strNew;
    }

    还有就是像SubString()这些函数在处理中文字符上面都是有问题的,SubString()可以用下面这个函数代替:

     

    public static string getCountStr(string str, int count)
    {
        
    byte[] bwrite = Encoding.GetEncoding("GB2312").GetBytes(str.ToCharArray());
        
    if (bwrite.Length >= count)
        {
            
    return Encoding.Default.GetString(bwrite, 0, count);
        }
        
    else
        {
            
    return Encoding.Default.GetString(bwrite);
        }

    哎。。。。麻烦的Unicode吖。。。。

    发表于 @ 2007年02月10日 05:38:00|评论(loading...)|编辑

    新一篇: Java入门问题讨论贴 | 旧一篇: 戒酒

    评论

    #zhaochao3156 发表于2008-07-07 14:36:00  IP: 221.6.244.*
    这个控制台的源程序代码可以发给我吗?
    邮箱:zhaochao3156@163.com
    #88250 发表于2008-07-07 14:58:59  IP: 218.63.86.*
    To zhaochao3156: 不好意思了,代码找不到了。。。。
    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © 88250