Equalsignorecase的函数体是(用JAVA语言写,下面是二代身份证号码的检查函数的头部,请根据文档注释完成函数体)

2023-11-14 03:50:02 :34

equalsignorecase的函数体是(用JAVA语言写,下面是二代身份证号码的检查函数的头部,请根据文档注释完成函数体)

各位老铁们,大家好,今天由我来为大家分享equalsignorecase的函数体是,以及用JAVA语言写,下面是二代身份证号码的检查函数的头部,请根据文档注释完成函数体的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

本文目录

用JAVA语言写,下面是二代身份证号码的检查函数的头部,请根据文档注释完成函数体

public class CheckID {/** * 二代身份证号码检查函数 * @param id 二代身份证号码 * @return 0合格 -1号码是空号 -2号码位数不对 -3含有非法号码 -4日期(年月日)不对 -5校验码不对 */ public static int idCheck(String id){ if(id.equals("")) return -1; if(id.length() != 18) return -2; if(!checkNum(id)) return -3; if(!checkDate(id)) return -4; if(!checkCode(id)) return -5; return 0; } //检查每一位是否正确 public static boolean checkNum(String id){ for(int i = 0; i《id.length() -1; i++){ if(!Character.isDigit(id.charAt(i))) return false; } //判断最后一位,如果不是数字而且也不为X if(!(Character.isDigit(id.charAt(17)) || id.charAt(17)==’X’)) return false; return true; }//检查日期格式public static boolean checkDate(String id){ int year = Integer.parseInt(id.substring(6, 10)); int month = Integer.parseInt(id.substring(10, 12)); int day = Integer.parseInt(id.substring(12, 14)); if(year》2000 || year《1880) return false; if(month》12 || month《1) return false; //处理每一个月份所对应的天数是否合法 if(month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12){ if(day》31 || day《1) return false; }else if(month==4 || month==6 || month==9 || month==11){ if(day》30 || day《1) return false; }else{ if((year%4==0 && year%100!=0) || year%400==0){ if(day》29 || day《1) return false; }else{ if(day》28 || day《1) return false; } } return true; }//检查校验码public static boolean checkCode(String id){ int codes = {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2}; char result = {’1’, ’0’, ’X’, ’9’, ’8’, ’7’, ’6’, ’5’, ’4’, ’3’, ’2’}; int sum = 0; for(int i = 0; i《id.length()-1; i++){ sum += (Integer.parseInt(id.substring(i, i+1))) * codes; } if(result != id.charAt(17)) return false; return true; }

如何通过java反射将数据库表生成实体类

首先有几点声明:1、代码是在别人的基础进行改写的;2、大家有什么改进的意见可以告诉我,也可以自己改好共享给其他人;3、刚刚毕业,水平有限,肯定有许多不足之处;4、希望刚刚学习java的同学能有所启发。//这个是做转换的类,里面的DB只是封装了数据库的连接,大家可以用自己的,随意package com.tt.util.gen.entity.tool;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.io.InputStream;import java.io.PrintWriter;import java.sql.Connection;import java.sql.DatabaseMetaData;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.ResultSetMetaData;import java.sql.SQLException;import java.util.ArrayList;import java.util.Date;import java.util.List;import java.util.Properties;import com.tt.util.DB;public class GenEntityMysql {private String packageOutPath;// 指定实体生成所在包的路径private String authorName;// 作者名字private String tablename;// 表名private String databasename;// 数据库名private List《String》 tablenames;// 拿到对应数据库中所有的实体类(实体类需要与其他表明做区分)private List《String》 colnames; // 列名集合private List《String》 colTypes; // 列名类型集合private boolean f_util = false; // 是否需要导入包java.util.*private boolean f_sql = false; // 是否需要导入包java.sql.*/** 构造函数*/public GenEntityMysql() {// 使用properties读取配置文件Properties prop = new Properties();try {InputStream genentity = getClass().getResourceAsStream("/genentity.properties");prop.load(genentity);if (genentity != null) {genentity.close();}} catch (Exception e) {System.out.println("file " + "catalogPath.properties"+ " not found!\n" + e);}this.databasename = prop.getProperty("databasename").toString();this.tablename = prop.getProperty("tablename").toString();this.packageOutPath = prop.getProperty("packageOutPath").toString();this.authorName = prop.getProperty("authorName").toString();}// 创建多个实体类private void genEntity(List《String》 tablenames, Connection conn) {// 使用第归生成文件for (String tablename : tablenames) {this.genEntity(tablename, conn);}}// 创建单个实体类private void genEntity(String tablename, Connection conn) {String sql = "select * from " + tablename;PreparedStatement pstmt = null;ResultSetMetaData rsmd = null;try {pstmt = DB.getPStmt(conn, sql);rsmd = pstmt.getMetaData();int size = rsmd.getColumnCount(); // 统计列colnames = new ArrayList《String》();colTypes = new ArrayList《String》();for (int i = 0; i 《 size; i++) {colnames.add(rsmd.getColumnName(i + 1));colTypes.add(rsmd.getColumnTypeName(i + 1));if (colTypes.get(i).equalsIgnoreCase("datetime")) {f_util = true;}if (colTypes.get(i).equalsIgnoreCase("image")|| colTypes.get(i).equalsIgnoreCase("text")) {f_sql = true;}}System.out.println(colnames);System.out.println(colTypes);} catch (SQLException e1) {// TODO Auto-generated catch blocke1.printStackTrace();} finally {DB.close(pstmt);}// 在内存中生成代码String content = parse(tablename);// 写入到文件中try {File directory = new File("");String outputPath = directory.getAbsolutePath() + "/src/"+ this.packageOutPath.replace(".", "/") + "/";System.out.println("写出的路径:" + outputPath);// 检测路径是否存在,不存在就创建路径File path = new File(outputPath);if (!path.exists() && !path.isDirectory()) {path.mkdir();System.out.println(path.exists());}// 创建文件outputPath += initcap(tablename) + ".java";File file = new File(outputPath);if (!file.exists()) {file.createNewFile();}// 写出到硬盘FileWriter fw = new FileWriter(file);PrintWriter pw = new PrintWriter(fw);pw.println(content);pw.flush();pw.close();} catch (IOException e) {e.printStackTrace();}}private void getAllEntityTable(Connection conn, List《String》 tablenames) {ResultSet rs = null;try {DatabaseMetaData dmd = (DatabaseMetaData) conn.getMetaData();/** TABLE_CAT String =》 表类别(可为 null)* TABLE_SCHEM String =》 表模式(可为null)* TABLE_NAME String =》 表名称* TABLE_TYPE String =》 表类型*/rs = dmd.getTables(null, null, "%", null);while (rs.next()) {tablenames.add(rs.getString("TABLE_NAME"));}} catch (SQLException e) {e.printStackTrace();} finally {try {rs.close();} catch (SQLException e) {e.printStackTrace();}}}/**** @param tablename* @return*/private String parse(String tablename) {StringBuffer sb = new StringBuffer();// 判断是否导入工具包if (f_util) {sb.append("import java.util.Date;\r\n");}if (f_sql) {sb.append("import java.sql.*;\r\n");}sb.append("package " + this.packageOutPath + ";\r\n");sb.append("\r\n");// 注释部分sb.append(" /**\r\n");sb.append(" * " + tablename + " 实体类\r\n");sb.append(" * " + new Date() + " " + this.authorName + "\r\n");sb.append(" */ \r\n");// 实体部分sb.append("\r\n\r\npublic class " + initcap(tablename) + "{\r\n");processAllAttrs(sb);// 属性processAllMethod(sb);// get set方法sb.append("}\r\n");return sb.toString();}/*** 功能:生成所有属性** @param sb*/private void processAllAttrs(StringBuffer sb) {for (int i = 0; i 《 colnames.size(); i++) {sb.append("\tprivate " + sqlType2JavaType(colTypes.get(i)) + " "+ colnames.get(i) + ";\r\n");}}/*** 功能:生成所有方法** @param sb*/private void processAllMethod(StringBuffer sb) {for (int i = 0; i 《 colnames.size(); i++) {sb.append("\tpublic void set" + initcap(colnames.get(i)) + "("+ sqlType2JavaType(colTypes.get(i)) + " " + colnames.get(i)+ "){\r\n");sb.append("\t\tthis." + colnames.get(i) + "=" + colnames.get(i)+ ";\r\n");sb.append("\t}\r\n");sb.append("\tpublic " + sqlType2JavaType(colTypes.get(i)) + " get"+ initcap(colnames.get(i)) + "(){\r\n");sb.append("\t\treturn " + colnames.get(i) + ";\r\n");sb.append("\t}\r\n");}}/*** 功能:将输入字符串的首字母改成大写** @param str* @return*/private String initcap(String str) {char ch = str.toCharArray();if (ch 《= ’z’) {ch - 32);}return new String(ch);}/*** 功能:获得列的数据类型** @param sqlType* @return*/private String sqlType2JavaType(String sqlType) {if (sqlType.equalsIgnoreCase("bit")) {return "boolean";} else if (sqlType.equalsIgnoreCase("tinyint")) {return "byte";} else if (sqlType.equalsIgnoreCase("smallint")) {return "short";} else if (sqlType.equalsIgnoreCase("int")) {return "int";} else if (sqlType.equalsIgnoreCase("bigint")) {return "long";} else if (sqlType.equalsIgnoreCase("float")) {return "float";} else if (sqlType.equalsIgnoreCase("decimal")|| sqlType.equalsIgnoreCase("numeric")|| sqlType.equalsIgnoreCase("real")|| sqlType.equalsIgnoreCase("money")|| sqlType.equalsIgnoreCase("smallmoney")) {return "double";} else if (sqlType.equalsIgnoreCase("varchar")|| sqlType.equalsIgnoreCase("char")|| sqlType.equalsIgnoreCase("nvarchar")|| sqlType.equalsIgnoreCase("nchar")|| sqlType.equalsIgnoreCase("text")) {return "String";} else if (sqlType.equalsIgnoreCase("datetime")) {return "Date";} else if (sqlType.equalsIgnoreCase("image")) {return "Blod";}return null;}/*** 出口 TODO** @param args*/public static void main(String args) {new GenEntityMysql().start();}private void start() {// 创建连接Connection conn = DB.getConn();if (databasename != null && !databasename.equals("")&& tablename != null && !tablename.equals("")) {System.out.println("databasename 和 tablename 不能同时存在");} else {// 如果配置文件中有数据库名字,则可以拿到其中所有的实体类if (databasename != null && !databasename.equals("")) {// 获取所有实体表名字tablenames = new ArrayList《String》();getAllEntityTable(conn, tablenames);System.out.println(tablenames);// 为每个实体表生成实体类genEntity(tablenames, conn);} else {// 为指定实体表生成实体类genEntity(tablename, conn);}// 关闭数据库连接if (conn != null) {DB.close(conn);}}}}

java中equalsignorecase怎么用

equalsIgnoreCase(String anotherString) 

anotherString:anotherString为指定比较的字符串对象。

示例  使用equalsIgnoreCase ()函数比较字符串strCom1与字符串strCom2是否相等。

String strCom1 = "MN";

String strCom2 = "mn";

boolean strB = strCom1.equalsIgnoreCase(strCom2);

典型应用  equals方法和equalsIgnoreCase方法都是应用十分广泛的方法,两者之间的区别为equals方法在比较的过程中严格区分大小写,而equalsIgnoreCase方法在比较的过程中忽略大小写。

扩展资料

public class Test {

public static void main(String args) {

String Str1 = new String("runoob");

String Str2 = Str1;

String Str3 = new String("runoob");

String Str4 = new String("RUNOOB");

boolean retVal;

retVal = Str1.equals( Str2 );

System.out.println("返回值 = " + retVal );

retVal = Str3.equals( Str4);

System.out.println("返回值 = " + retVal );

retVal = Str1.equalsIgnoreCase( Str4 );

System.out.println("返回值 = " + retVal );

}

}

关于本次equalsignorecase的函数体是和用JAVA语言写,下面是二代身份证号码的检查函数的头部,请根据文档注释完成函数体的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。

equalsignorecase的函数体是(用JAVA语言写,下面是二代身份证号码的检查函数的头部,请根据文档注释完成函数体)

本文编辑:admin
Copyright © 2022 All Rights Reserved 威海上格软件有限公司 版权所有

鲁ICP备20007704号

Thanks for visiting my site.