博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
代码段
阅读量:4510 次
发布时间:2019-06-08

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

【说明 - 写在最前】

代码段:是在随笔中引用到的代码段,因为不适于直接显示在文章中,特建立虚拟数据保存池 - 代码段用于保存用到的代码段;代码段篇幅非常长,建议使用锚点进行浏览,即本文章中的链接,

引用请写:http://www.cnblogs.com/Wfei/p/3251300.html + #Wfei + 锚点,

锚点的命名规则:Wfei + 日期 + 时间,如:Wfei201308111440,

引用:http://www.cnblogs.com/Wfei/p/3251300.html#Wfei201308111440

----------------------------------------优雅分割线----------------------------------------

一:合法文件名:判断技巧

1     /** 2      * 根据截取到的.xxx文件类型标志判断出文件的类型,并显示输出 3      */ 4     public void compareFileType() 5     { 6         String fileType; 7         char fileTypeChar; 8         String tips; 9         10         fileType = cutFileType();11         fileTypeChar = transformFileTypeToChar(fileType).charAt(0);12         //上一行或者写成:fileTypeChar = fileType.charAt(fileType.length()-1);待测试13         switch (fileTypeChar)14         {15         case 'a':                                    //.java文件16             tips = "java类文件";17             18             break;19         case 's':                                    //.class文件20             tips = "java字节码文件";21             tips = reMatchTips(fileType, ".class", tips);22             break;23         case 't':                                    //.txt文件24             tips = "TXT文本文件";25             tips = reMatchTips(fileType, ".txt", tips);26             break;27         case 'g':case 'f':                            //.jpg .png .gif .bmp文件28         case 'p':                                    //即图片29             tips = fileType+"图片文件";30             tips = reMatchTips(fileType, ".jpg.png.gif.bmp", tips);31             break;32         case 'd':                                    //.word文件33             tips = "Word文档";34             tips = reMatchTips(fileType, ".word", tips);35             break;36         default:                                    //其他文件37             tips = "系统赞未识别,其他文件";38             break;39         }40         System.out.println("【tips】您输入的文件名:"+fileName+",文件是:"+tips);41     }42     /**43      * 根据终极比对结果,返回相应的输出语句44      * @param fileType45      * @param target46      * @param tips47      * @return48      */49     public String reMatchTips(String fileType,String target,String tips)50     {51         if ()52         {53             return tips;54         }55         else {56             return "系统赞未识别,其他文件";57         }58     }59     /**60      * 因为截取的.xxx最后一个字符switch来比较,比较片面,再一次比对是否真实相同61      * @param fileType62      * @param target63      * @return64      */65     public boolean reMatch(String fileType,String target)66     {67         if (target.indexOf(fileType) != -1)68         {69             return true;70         }71         else {72             return false;73         }74     }

 二:万年历:制作技巧

1         //判断年份:平年数、润年数 2         for (int i = 1900; i < year; i++) 3         { 4             if ((i%4 == 0 && i%100 != 0) || i%400 == 0) 5             { 6                 leapYear++; 7             } 8         } 9         nonleapYear = year-1900-leapYear;            //平年数10         11         //计算1900-(year-1)年底之间的天数12         days = 366 * leapYear + 365 * nonleapYear;13         14         //对year年,1-month-1月底之间天数的累加到days上;并通过内潜逃的if语句判断month当月的天数,方便之后打印出month月日历表的for循环遍历15         for (int i = 1; i <= month; i++)16         {17             switch (i)18             {19             case 2:20                 if ((year%4 == 0 && year%100 != 0) || year%400 == 0)21                 {22                     monthDays = 29;23                 }24                 else {25                     monthDays = 28;26                 }27                 break;28             case 4:case 6:case 9:29             case 11:30                 monthDays = 30;31                 break;32             default:33                 monthDays = 31;34                 break;35             }36             days += monthDays;37         }38         //减去多加的month月的天数39         days -= monthDays;40         //到month月第一天的总天数41         days++;42         43         //输出日历表44         System.out.println("=================="+year+"年"+month+"月日历表==================");45         System.out.println("日\t一\t二\t三\t四\t五\t六");46         //打印空格制表符,用于分割日期之间的间距47         for (int i = days%7; i > 0; i--)48         {49             System.out.print("\t");50         }51         //输出month月每一天52         for (int i = 1; i <= monthDays; i++)53         {54             if ((days+i-1)%7 == 6)55             {56                 System.out.println(i);57             }else {58                 System.out.print(i+"\t");59             }60         }

 三:图书系统:公用方法

1 /** 2      * 验证用户每一步输入时是否继续输入 3      * @param userInput:用户输入的字符串 4      * @param tips:需要提示给用户的[关键信息] 5      * @return:返回false表示用户不愿意继续输入 6      */ 7     public boolean isContinueInput(String userInput,String tips) 8     { 9         boolean isContinueInput = true;10         userInput = userInput.toUpperCase();        //将用户输入的,toUpperCase不会转换非字母的字符11         12         //处理程序13         if (userInput.equals("EXIT"))14         {15             System.out.println("\n【input】用户选择了,放弃"+tips+";正在返回到上级菜单......");16             isContinueInput = false;17         }18         19         return isContinueInput;20     }21     /*********************************************验证码相关 - 开始***********************************************/22     /**23      * 验证码生成器24      * @param count:需要产生的验证码的字符个数25      * @return:返回特定长度的验证码字符串26      */27     public String buildCheckCode(int count)28     {29         String checkCode = "";30         StringBuffer stringBuffer = new StringBuffer();        //用于进行字符串值附加的temp,不用String更有利于性能的提升31         32         //处理程序33         for (int i = 0; i < count; i++)34         {35             stringBuffer.append((int)(Math.random()*10));    //随机生成一个字符36         }37         checkCode = stringBuffer.toString();38         return checkCode;39     }40     /**41      * 验证码校验42      * @param userInputCheckCode:用户输入的验证码43      * @param buildedCheckCode:系统之前产生的验证码44      * @return:验证码是否输入正确,true为正确45      */46     public boolean checkCheckCode(String userInputCheckCode,String buildedCheckCode)47     {48         boolean isSame = false;49         50         //处理程序51         if (buildedCheckCode.equals(userInputCheckCode))52         {53             isSame = true;54         }55         return isSame;56     }57     /*********************************************验证码相关 - 结束***********************************************/

 (四)在使用集合方面,写入数据时,可能需要重写的方法:hashCode()、equals()

1     /** 2      * 重写hashCode()方法,因为是将该对象写入到集合的, 3      * 因此,我来定数据是否重复写入的规则,就是:Id是否相同 4      * 说明:重写该方法,是为了避免HahsSet集合的校验哈希吗值,而导致的错误的比较结果 5      * @return 6      */ 7     @Override 8     public int hashCode() 9     {10         return this.getId();11     }12     /**13      * 重写equals()方法,因为是将该对象写入到集合的,14      * 因此,我来定数据是否重复写入的规则,就是:Id是否相同15      * @param16      * @return17      */18     @Override19     public boolean equals(Object obj)20     {21         boolean equal = false;22         23         if (obj == null)24         {25             equal = false;26         }27         else {28             People people = (People) obj;29             if (people.getId() == this.getId())30             {31                 equal = true;32             }33         }34         return equal;35     }

 

 

转载于:https://www.cnblogs.com/Wfei/p/3251300.html

你可能感兴趣的文章
asp.net的一个简单简历缓存方法
查看>>
loj 1185(bfs)
查看>>
全排列-按从大到小-time limited
查看>>
减肥中,做个 体重三围 测量软件
查看>>
windows下命令行修改系统时间;修改系统时间的软件
查看>>
[LeetCode] 384. Shuffle an Array 数组洗牌
查看>>
最大公约数
查看>>
序列化和反序列化
查看>>
Mac上Chrome浏览器跨域解决方案
查看>>
Sublime Text 3 全程详细图文原创教程(持续更新中。。。)
查看>>
java输出重定向
查看>>
load data with matlab
查看>>
ctypes调用dll的参数问题
查看>>
微信支付接口的调用(转)
查看>>
XSS攻击
查看>>
百度下的SEO规则
查看>>
【资料整理】一些英语面试题整理
查看>>
Android真机调试的时候logcat中无法输出调试信息的解决办法
查看>>
这个七夕,送你一份程序员教科书级别的告白指南
查看>>
如何优雅的写一篇安利文-以Sugar ORM为例
查看>>