精华内容
下载资源
问答
  • 批量生成HTML文件,通过 学生名单(学号、姓名) 与 博客名单姓名、网址)-附件资源
  • 现有学生表,包含学校名称,班级,学生姓名等列。需要查询某个学校学生姓名相同的学生的列表。 SELECT * FROM `studentInformation` WHERE studentname IN (SELECT studentname FROM `studentInformation` WHERE ...

    现有学生表,包含学校名称,班级,学生姓名等列。需要查询某个学校学生姓名相同的学生的列表。

    SELECT * FROM `studentInformation` WHERE studentname IN (SELECT studentname
    FROM `studentInformation` WHERE school = '西安小学'
    GROUP BY studentname
    HAVING COUNT(studentname) > 1 AND school = '西安小学')

    GROUP BY  分组,

    HAVING  条件筛选,

    IN  查询括号范围内的数据。

     

    展开全文
  • 批量生成HTML文件,通过 学生名单(学号、姓名) 与 博客名单(姓名、网址)  构想  很早就想写这个程序了,知道开学3周多了,才下定决心写完。  功能:通过 学生名单(学号、姓名) 与 博客名单(姓名、网址),自动...

      批量生成HTML文件,通过 学生名单(学号、姓名) 与 博客名单(姓名、网址)

      构想

      很早就想写这个程序了,知道开学3周多了,才下定决心写完。

      功能:通过 学生名单(学号、姓名) 与 博客名单(姓名、网址),自动生成HTML文件。

      示例文件:学生名单、博客名单。

      结果文件(示例):HTML文件。

      运行结果

      101 蔡伟权(缺) 102 曹翠芬 103 陈丹凤 104 陈桂强 105 陈家漫(缺)

      106 陈镜宇 108 陈满东 110 邓 辉(缺) 114 洪境鹏 115 黄 彬(缺)

      117 黄国滔(缺) 119 黄世安 120 黄世君(缺) 122 黄宇倩 124 江宗信(缺)

      125 赖长青(缺) 127 梁官荣 128 梁文俊 129 廖始聪(缺) 130 廖 鋆

      131 林 瀚 132 林骏琪 133 林镇填(缺) 134 刘 戈(缺) 135 刘威航

      136 陆志翔(缺) 139 倪粤鹏 142 容文山 143 容永豪(缺) 144 施恒亮

      145 谭永辉 146 韦林莹(缺) 148 吴辉平 150 吴郁鹏 151 吴韵杰(缺)

      152 谢碧君 153 谢舒韵 154 谢志杰(缺) 155 许翠怡(缺) 156 杨溢涛

      157 杨 媛(缺) 159 余文康 160 曾麒城 161 曾远辉 164 张玉婷

      169 庄树填(缺)

      使用方式

      (a)命令行。 编译 javac HtmlBlog.java ;运行 java HtmlBlog wl131.html student_list_wl131.txt blog_list_wl131.txt

      (b)Eclipse。 直接修改如下

      

      Java源码

      /**

      * (1)根据博客名单,自动生成HTML网页;每行5个数据

      * (2)判断博客地址是否符合要求,争取有纠错的功能

      * (3)判断有多少同学的博客没有,需要补充

      * 作者:丁又专

      * 时间:2014.03.26

      */

      package indi.dyz.html;

      import java.io.File;

      import java.io.FileNotFoundException;

      import java.io.PrintWriter;

      import java.util.ArrayList;

      import java.util.HashSet;

      import java.util.Scanner;

      import java.util.regex.Matcher;

      import java.util.regex.Pattern;

      public class HtmlBlog {

      /**

      * @param args

      * @throws FileNotFoundException

      */

      /**

      * 功能:读取名单数据,保存到二维数组中

      * 输入文件名:要求是两列数据,其中第一行为说明

      * @param getList

      * @return

      * @throws FileNotFoundException

      */

      public static String[][] getList(String fileName) throws FileNotFoundException{

      //判断文件是否存在

      File file = new File(fileName);

      if(file.exists()==false){

      System.out.println(fileName+"不存在,请检查该文件。");

      return null;

      }

      String strTmp, strLine;

      int numList = 0;

      //判断一共有多少行数据

      Scanner sc = new Scanner(file);

      while(sc.hasNextLine()){

      strTmp = sc.nextLine();

      if(strTmp.length()>0){

      numList++; //避免最后有空行

      }

      }

      sc.close();

      numList = numList-1; //去掉首行说明

      String[][] studentList = new String[2][numList];

      int num = 0;

      //读名单数据

      sc = new Scanner(file);

      strTmp = sc.nextLine(); //过滤首行

      while(num<NUMLIST){< p>

      strLine = sc.nextLine();

      //正则表达式进行分割,参考:字符串分割多个空格 http://blog.csdn.net/swarb/article/details/7402888

      String[] strArray = strLine.split("\\s{1,}");

      if(strArray.length==2) {

      studentList[0][num] = strArray[0];

      studentList[1][num] = strArray[1];

      }

      //System.out.println(num+" "+studentList[0][num] +":"+ studentList[1][num]);

      num++;

      }

      sc.close();

      return studentList;

      }

      /**

      * 功能:判断数组中有哪些重复元素。

      * @param args

      * @throws FileNotFoundException

      */

      public static int getRepeat(String[] strArray){

      int numRepeat = 0; //重复元素个数

      int numPre = 0, numLater = 0; //插入元素前集合元素个数、插入后元素个数

      //把元素放到一个集合中,如何集合元素个数没有增加,则此元素重复

      HashSet hs = new HashSet();

      for(String str:strArray){

      hs.add(str);

      numLater = hs.size();

      if(numLater==numPre){

      numRepeat++;

      System.out.println("发现第"+numRepeat+"个重复元素:"+str+" 序号:"+numLater);

      }

      numPre = numLater;

      }

      return numRepeat;

      }

      /**

      * 功能:找到两个集合(A,B)中的差异元素,即在A中,不在B中

      * 思路:list1-list2,即集合的差,如A={1,2,3},B={1,3},则A-B={2}

      * @param args

      * @throws FileNotFoundException

      */

      public static String[] getDiffElement(String[] list1, String[] list2){

      HashSet hs = new HashSet();

      for(String strTmp:list2){

      hs.add(strTmp);

      }

      ArrayList diffList = new ArrayList();

      for(String strTmp:list1){

      if(hs.contains(strTmp)==false){

      diffList.add(strTmp);

      }

      }

      int num = diffList.size();

      if(num>0){

      String[] diff = new String[num];

      for(int i=0; i<NUM; p i++){<>

      diff[i] = diffList.get(i);

      }

      return diff;

      }

      return null;

      }

      /**

      * 功能:利用正则表达式,判断博客网址是否符合规范

      * @param args

      * @throws FileNotFoundException

      */

      public static boolean isCSDNBlog(String blog, String pattern){

      //http://blog.csdn.net/u013899770, true

      //http://write.blog.csdn.net/postlist, false

      //本例:pattern = "(http://blog.csdn.net/){1}";

      Pattern r = Pattern.compile(pattern);

      // 现在创建 matcher 对象

      Matcher m = r.matcher(blog);

      if (m.find( )) {

      //System.out.println(blog+" Found value: " + m.group(1) );

      return true;

      } else {

      //System.out.println("==="+blog+" NO MATCH");

      return false;

      }

      }

      /**

      * 功能:写HTML文件,根据blog名单与学生名单,并输出没有找到的学生名单

      * @param args

      * @throws FileNotFoundException

      */

      public static int writeHtml(String fileHtml, String fileStudent, String fileBlog, String pattern) throws FileNotFoundException{

      //(1)创建HTML文件

      PrintWriter pw = new PrintWriter(new File(fileHtml));

      //(2)写HTML文件头

      pw.println("");

      pw.println("");

      pw.println(" ");

      pw.println("");

      pw.println("");

      //(3)读取名单数据 与 博客数据

      String[][] studentList = getList(fileStudent);

      String[][] blogList = getList(fileBlog);

      //读取每一个学生名字,判断其博客地址是否正确

      //true:则保存到HTML文件

      //false:则在名字上标注一下(缺)

      String blankHtml = " ";

      String defaultUrl = "http://blog.csdn.net/dyz1982";

      String writeName = "";

      String writeUrl = "";

      int IDLen = studentList[0][0].length();

      int numStu = studentList[0].length;

      int numBlog = 0;

      int t=0, k=0;

      for(k=0; k<NUMSTU; p k++){<>

      //通过student名字,找到blog中网址

      String studentName = studentList[1][k].trim();

      for(t=0; t<BLOGLIST[0].LENGTH; p t++){<>

      if(studentName.equalsIgnoreCase(blogList[0][t].trim()))

      break;

      }

      if(IDLen<=3){

      if(studentList[0][k].length()<2)

      writeName = blankHtml+studentList[0][k];

      else

      writeName = studentList[0][k];

      }

      else writeName = studentList[0][k].substring(IDLen-3);

      //判断姓名的字数,两个字的名字,中间加两个空格,为了美观

      if(studentName.length()==2){

      writeName += blankHtml + studentName.substring(0,1)+blankHtml+blankHtml+studentName.substring(1,2);

      }else if(studentName.length()>=3){

      writeName += blankHtml + studentName;

      }

      // blogList有地址,并且是符合规则的地址

      if( (t<BLOGLIST[0].LENGTH) p ){< (isCSDNBlog(blogList[1][t],pattern)) &&>

      numBlog = numBlog+1;

      writeUrl = blogList[1][t];

      writeName = writeName + blankHtml+blankHtml+blankHtml+blankHtml; //加4个空格,为了对齐

      }else{

      System.out.println(studentList[0][k]+studentName);

      writeUrl = defaultUrl;

      writeName = writeName + "(缺)";

      }

      //写相应的HTML语句

      pw.print(""+writeName+"");

      pw.println(blankHtml+blankHtml);

      //如果有5个人,则换行

      //最好的网络资源:http://www.w3school.com.cn/tags/tag_br.asp

      if((k+1)%5==0){

      pw.println("
    ");

      }

      }

      //写HTML文件尾

      /*

      

      

      */

      pw.println(""+"\n"+"");

      pw.close();

      return numBlog;

      }

      /**

      * 功能:对计科的博客名单进行重新处理

      * @param args

      * @throws FileNotFoundException

      */

      public static void modifyJkBlogFile(String fileStudent, String fileBlog) throws FileNotFoundException{

      String[][] studentName = getList(fileStudent);

      String[][] studentBlog = getList(fileBlog);

      //先删除,再创建

      File file = new File(fileBlog);

      file.delete();

      file = new File(fileBlog);

      PrintWriter pw = new PrintWriter(file);

      //把“201111621321” 替换为相应的姓名

      //如果是201111621326吴叶英,则去掉前面的学号

      pw.println("姓名 网址");

      int i=0, j=0;

      for(i=0; i<STUDENTBLOG[0].LENGTH; p i++){<>

      for(j=0; j<STUDENTNAME[0].LENGTH; p j++){<>

      if(studentBlog[0][i].contains(studentName[0][j]))break;

      }

      System.out.println(studentName[1][j]+" "+studentBlog[1][i]);

      pw.println(studentName[1][j]+" "+studentBlog[1][i]);

      }

      pw.close();

      }

      public static void main(String[] args) throws FileNotFoundException {

      // TODO Auto-generated method stub

      String fileStudent;

      String fileBlog;

      String fileHtml;

      //查看命令行参数

      if(args.length==3){

      fileHtml = args[0];

      fileStudent = args[1];

      fileBlog = args[2];

      }else{

      fileHtml = "data/wl131.html";

      fileStudent = "data/student_list_wl131.txt";

      fileBlog = "data/blog_list_wl131.txt";

      }

      //读取文件数据

      String[][] studentName = getList(fileStudent);

      String[][] studentBlog = getList(fileBlog);

      //查看是否存在没有提交博客地址的同学

      String[] diffArray = getDiffElement(studentName[1], studentBlog[0]);

      for(String str:diffArray){

      System.out.println(str);

      }

      //查看博客地址是否准确,输出不准确的博客地址

      String pattern = "(http://blog.csdn.net/){1}[0-9a-zA-Z]+"; //模式字符串

      for(int i=0; i<STUDENTBLOG[1].LENGTH; p i++){<>

      boolean b = isCSDNBlog(studentBlog[1][i], pattern);

      if(b==false)

      System.out.println(studentBlog[0][i]+": "+studentBlog[1][i]);

      }

      //写HTML文件

      writeHtml(fileHtml, fileStudent, fileBlog, pattern);

      System.out.println("ok,end……");

      }

      }

    http://www.yynet.cn/ys/yst/20140825/1167986.html

    http://www.yynet.cn/ys/yst/20140825/1167956.html

    http://www.yynet.cn/ys/yst/20140825/1167984.html

    http://www.yynet.cn/ys/yst/20140825/1167963.html

    http://www.yynet.cn/ys/yst/20140825/1167969.html

    http://www.yynet.cn/ys/yst/20140825/1167970.html

    http://www.yynet.cn/ys/yst/20140825/1167966.html

    http://www.yynet.cn/ys/yst/20140825/1167977.html

    http://www.yynet.cn/ys/yst/20140825/1167971.html

    http://www.yynet.cn/ys/yst/20140825/1167967.html

    http://www.yynet.cn/ys/yst/20140825/1167994.html

    http://www.yynet.cn/ys/yst/20140825/1168001.html

    http://www.yynet.cn/ys/yst/20140825/1167983.html

    http://www.yynet.cn/ys/yst/20140825/1167988.html

    http://www.yynet.cn/ys/yst/20140825/1167993.html

    http://www.yynet.cn/ys/yst/20140825/1168004.html

    http://www.yynet.cn/ys/yst/20140825/1167979.html

    http://www.yynet.cn/ys/yst/20140825/1168002.html

    http://www.yynet.cn/ys/yst/20140825/1167987.html

    http://www.yynet.cn/ys/yst/20140825/1168003.html

    http://www.yynet.cn/ys/yst/20140825/1167958.html

    http://www.yynet.cn/ys/yst/20140825/1167957.html

    http://www.yynet.cn/ys/yst/20140825/1167995.html

    http://www.yynet.cn/ys/yst/20140825/1167959.html

    http://www.yynet.cn/ys/yst/20140825/1167982.html

    http://www.yynet.cn/ys/yst/20140825/1167998.html

    http://www.yynet.cn/ys/yst/20140825/1167961.html

    http://www.s1979.com/health/jkdt/2014-08/25/490349.html

    http://www.s1979.com/health/jkdt/2014-08/25/490345.html

    http://www.s1979.com/health/jkdt/2014-08/25/490344.html

    http://www.s1979.com/health/jkdt/2014-08/25/490342.html

    http://www.xnnews.com.cn/yst/sjys/220140825293645.html

    http://www.xnnews.com.cn/yst/sjys/220140825293632.html

    http://www.xnnews.com.cn/yst/sjys/220140825293621.html

    http://www.xnnews.com.cn/yst/sjys/220140825293476.html

    http://www.xnnews.com.cn/yst/sjys/220140825293642.html

    http://www.xnnews.com.cn/yst/sjys/220140825293716.html

    http://www.sxcm.net/yst/zxdt/d201408251210312.html

    http://www.sxcm.net/yst/zxdt/d201408251209662.html

    http://www.sxcm.net/yst/zxdt/d201408251209960.html

    http://www.sxcm.net/yst/zxdt/d201408251209981.html

    http://www.sxcm.net/yst/zxdt/d201408251210001.html

    http://www.sxcm.net/yst/zxdt/d201408251209964.html

    展开全文
  •  功能:通过 学生名单(学号、姓名) 与 博客名单姓名、网址),自动生成HTML文件。  示例文件:学生名单、博客名单。  结果文件(示例):HTML文件。 运行结果 自动生成名单 101 蔡伟权(缺)  102 曹...

    构想

        很早就想写这个程序了,知道开学3周多了,才下定决心写完。

        功能:通过 学生名单(学号、姓名) 与 博客名单(姓名、网址),自动生成HTML文件。

        示例文件:学生名单博客名单

        结果文件(示例):HTML文件

    运行结果

    101 蔡伟权(缺)   102 曹翠芬       103 陈丹凤       104 陈桂强       105 陈家漫(缺)   

    106 陈镜宇       108 陈满东       110 邓  辉(缺)   114 洪境鹏       115 黄  彬(缺)   
    117 黄国滔(缺)   119 黄世安       120 黄世君(缺)   122 黄宇倩       124 江宗信(缺)   
    125 赖长青(缺)   127 梁官荣       128 梁文俊       129 廖始聪(缺)   130 廖  鋆       
    131 林  瀚       132 林骏琪       133 林镇填(缺)   134 刘  戈(缺)   135 刘威航       
    136 陆志翔(缺)   139 倪粤鹏       142 容文山       143 容永豪(缺)   144 施恒亮       
    145 谭永辉       146 韦林莹(缺)   148 吴辉平       150 吴郁鹏       151 吴韵杰(缺)   
    152 谢碧君       153 谢舒韵       154 谢志杰(缺)   155 许翠怡(缺)   156 杨溢涛       
    157 杨  媛(缺)   159 余文康       160 曾麒城       161 曾远辉       164 张玉婷       
    169 庄树填(缺)  

    使用方式

    (a)命令行。 编译 javac HtmlBlog.java ;运行 java HtmlBlog wl131.html student_list_wl131.txt blog_list_wl131.txt

    (b)Eclipse。 直接修改如下



    Java源码

    /**
     * (1)根据博客名单,自动生成HTML网页;每行5个数据
     * (2)判断博客地址是否符合要求,争取有纠错的功能
     * (3)判断有多少同学的博客没有,需要补充
     * 作者:丁又专
     * 时间:2014.03.26
     */
    package indi.dyz.html;
    
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.PrintWriter;
    import java.util.ArrayList;
    import java.util.HashSet;
    import java.util.Scanner;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    public class HtmlBlog {
    	/**
    	 * @param args
    	 * @throws FileNotFoundException 
    	 */
    
    	/**
    	 * 功能:读取名单数据,保存到二维数组中
    	 * 输入文件名:要求是两列数据,其中第一行为说明
    	 * @param getList
    	 * @return
    	 * @throws FileNotFoundException
    	 */
    	public static String[][] getList(String fileName) throws FileNotFoundException{
    		//判断文件是否存在
    		File file = new File(fileName);
    		if(file.exists()==false){
    			System.out.println(fileName+"不存在,请检查该文件。");
    			return null;
    		}
    
    		String strTmp, strLine;
    		int numList = 0;
    		//判断一共有多少行数据
    		Scanner sc = new Scanner(file);
    		while(sc.hasNextLine()){
    			strTmp = sc.nextLine();	
    			if(strTmp.length()>0){
    				numList++;	//避免最后有空行
    			}			
    		}
    		sc.close();
    		numList = numList-1; //去掉首行说明
    
    		String[][] studentList = new String[2][numList];
    		int num = 0;
    		//读名单数据
    		sc = new Scanner(file);
    		strTmp = sc.nextLine();		//过滤首行
    		while(num<numList){
    			strLine = sc.nextLine();
    			//正则表达式进行分割,参考:字符串分割多个空格  http://blog.csdn.net/swarb/article/details/7402888
    			String[] strArray = strLine.split("\\s{1,}");
    			if(strArray.length==2) {
    				studentList[0][num] = strArray[0];
    				studentList[1][num] = strArray[1];
    			}
    			//System.out.println(num+" "+studentList[0][num] +":"+ studentList[1][num]);
    			num++;
    		}
    		sc.close();
    
    		return studentList;
    	}
    
    	/**
    	 * 功能:判断数组中有哪些重复元素。
    	 * @param args
    	 * @throws FileNotFoundException
    	 */
    	public static int getRepeat(String[] strArray){
    		int numRepeat = 0;				//重复元素个数
    		int numPre = 0, numLater = 0;	//插入元素前集合元素个数、插入后元素个数
    		//把元素放到一个集合中,如何集合元素个数没有增加,则此元素重复
    		HashSet<String> hs = new HashSet<String>();
    		for(String str:strArray){
    			hs.add(str);
    			numLater = hs.size();
    			if(numLater==numPre){
    				numRepeat++;
    				System.out.println("发现第"+numRepeat+"个重复元素:"+str+" 序号:"+numLater);
    			}
    			numPre = numLater;
    		}
    		return numRepeat;
    	}
    
    	/**
    	 * 功能:找到两个集合(A,B)中的差异元素,即在A中,不在B中
    	 * 思路:list1-list2,即集合的差,如A={1,2,3},B={1,3},则A-B={2}
    	 * @param args
    	 * @throws FileNotFoundException
    	 */
    	public static String[] getDiffElement(String[] list1, String[] list2){
    		HashSet<String> hs = new HashSet<String>();
    		for(String strTmp:list2){
    			hs.add(strTmp);
    		}
    
    		ArrayList<String> diffList = new ArrayList<String>(); 
    		for(String strTmp:list1){
    			if(hs.contains(strTmp)==false){
    				diffList.add(strTmp);
    			}
    		}
    
    		int num = diffList.size();
    		if(num>0){
    			String[] diff = new String[num];
    			for(int i=0; i<num; i++){
    				diff[i] = diffList.get(i);
    			}	
    			return diff;
    		}	
    
    		return null;
    	}
    
    	/**
    	 * 功能:利用正则表达式,判断博客网址是否符合规范
    	 * @param args
    	 * @throws FileNotFoundException
    	 */
    	public static boolean isCSDNBlog(String blog, String pattern){
    		//http://blog.csdn.net/u013899770, true
    		//http://write.blog.csdn.net/postlist, false
    		//本例:pattern = "(http://blog.csdn.net/){1}";
    
    		Pattern r = Pattern.compile(pattern);
    		// 现在创建 matcher 对象
    		Matcher m = r.matcher(blog);
    		if (m.find( )) {
    			//System.out.println(blog+" Found value: " + m.group(1) );
    			return true;
    		} else {
    			//System.out.println("==="+blog+" NO MATCH");
    			return false;
    		}
    	}
    
    	/**
    	 * 功能:写HTML文件,根据blog名单与学生名单,并输出没有找到的学生名单
    	 * @param args
    	 * @throws FileNotFoundException
    	 */
    	public static int writeHtml(String fileHtml, String fileStudent, String fileBlog, String pattern) throws FileNotFoundException{
    		//(1)创建HTML文件
    		PrintWriter pw = new PrintWriter(new File(fileHtml));
    		//(2)写HTML文件头
    		pw.println("<HTML>");
    		pw.println("<HEAD>");
    		pw.println("	<TITLE>自动生成名单</TITLE>");
    		pw.println("</HEAD>");
    		pw.println("<BODY>");
    
    		//(3)读取名单数据 与 博客数据
    		String[][] studentList = getList(fileStudent);
    		String[][] blogList = getList(fileBlog);
    
    		//读取每一个学生名字,判断其博客地址是否正确
    		//true:则保存到HTML文件
    		//false:则在名字上标注一下(缺)
    		String blankHtml = " ";
    		String defaultUrl = "http://blog.csdn.net/dyz1982";
    		String writeName = "";
    		String writeUrl = "";
    
    		int IDLen = studentList[0][0].length();
    
    		int numStu = studentList[0].length;
    		int numBlog = 0;
    		int t=0, k=0;
    		for(k=0; k<numStu; k++){
    			//通过student名字,找到blog中网址
    			String studentName = studentList[1][k].trim();
    			for(t=0; t<blogList[0].length; t++){
    				if(studentName.equalsIgnoreCase(blogList[0][t].trim()))
    					break;
    			}
    
    			if(IDLen<=3){
    				if(studentList[0][k].length()<2)
    					writeName = blankHtml+studentList[0][k];
    				else
    					writeName = studentList[0][k];
    			}
    			else writeName = studentList[0][k].substring(IDLen-3);
    
    			//判断姓名的字数,两个字的名字,中间加两个空格,为了美观
    			if(studentName.length()==2){
    				writeName += blankHtml + studentName.substring(0,1)+blankHtml+blankHtml+studentName.substring(1,2);
    			}else if(studentName.length()>=3){
    				writeName += blankHtml + studentName;
    			}
    
    			// blogList有地址,并且是符合规则的地址
    			if( (t<blogList[0].length) && (isCSDNBlog(blogList[1][t],pattern)) ){	
    				numBlog = numBlog+1;
    				writeUrl = blogList[1][t];
    				writeName = writeName + blankHtml+blankHtml+blankHtml+blankHtml;	//加4个空格,为了对齐
    			}else{
    				System.out.println(studentList[0][k]+studentName);
    
    				writeUrl = defaultUrl;
    				writeName = writeName + "(缺)";					
    			}
    
    			//写相应的HTML语句
    			pw.print("<a target=_blank target=\"_blank\" href=\""+writeUrl+"\">"+writeName+"</a>");
    			pw.println(blankHtml+blankHtml);
    			//如果有5个人,则换行
    			//最好的网络资源:http://www.w3school.com.cn/tags/tag_br.asp
    			if((k+1)%5==0){
    				pw.println("<br />");
    			}
    		}
    		//写HTML文件尾
    		/*
    				</BODY>
    				</HTML>
    		 */
    		pw.println("</BODY>"+"\n"+"</HTML>");
    		pw.close();
    
    		return numBlog;
    	}
    
    	/**
    	 * 功能:对计科的博客名单进行重新处理
    	 * @param args
    	 * @throws FileNotFoundException
    	 */
    	public static void modifyJkBlogFile(String fileStudent, String fileBlog) throws FileNotFoundException{
    		String[][] studentName = getList(fileStudent);
    		String[][] studentBlog = getList(fileBlog);
    
    		//先删除,再创建
    		File file = new File(fileBlog);
    		file.delete();
    		file = new File(fileBlog);
    
    		PrintWriter pw = new PrintWriter(file);
    		//把“201111621321” 替换为相应的姓名
    		//如果是201111621326吴叶英,则去掉前面的学号
    		pw.println("姓名    网址");
    		int i=0, j=0;
    		for(i=0; i<studentBlog[0].length; i++){
    
    			for(j=0; j<studentName[0].length; j++){
    				if(studentBlog[0][i].contains(studentName[0][j]))break;
    			}
    			System.out.println(studentName[1][j]+"  "+studentBlog[1][i]);
    			pw.println(studentName[1][j]+"  "+studentBlog[1][i]);
    		}
    		pw.close();
    	}
    
    	public static void main(String[] args) throws FileNotFoundException {
    		// TODO Auto-generated method stub
    
    		String fileStudent;
    		String fileBlog;
    		String fileHtml;
    		//查看命令行参数
    		if(args.length==3){
    			fileHtml = args[0];
    			fileStudent = args[1];
    			fileBlog = args[2];
    		}else{
    			fileHtml = "data/wl131.html";
    			fileStudent = "data/student_list_wl131.txt";
    			fileBlog = "data/blog_list_wl131.txt";
    		}
    
    		//读取文件数据
    		String[][] studentName = getList(fileStudent);
    		String[][] studentBlog = getList(fileBlog);
    
    		//查看是否存在没有提交博客地址的同学
    		String[] diffArray = getDiffElement(studentName[1], studentBlog[0]);
    		for(String str:diffArray){
    			System.out.println(str);
    		}
    
    		//查看博客地址是否准确,输出不准确的博客地址
    		String pattern = "(http://blog.csdn.net/){1}[0-9a-zA-Z]+";	//模式字符串
    		for(int i=0; i<studentBlog[1].length; i++){
    			boolean b = isCSDNBlog(studentBlog[1][i], pattern);
    			if(b==false) 
    				System.out.println(studentBlog[0][i]+": "+studentBlog[1][i]);
    		}
    
    		//写HTML文件
    		writeHtml(fileHtml, fileStudent, fileBlog, pattern);
    		
    		System.out.println("ok,end……");
    	}
    }
    










    展开全文
  • 背景:学校的网站可以根据学号查学生姓名和成绩,所以我希望通过Python的爬虫得到年级所有同学的学号与姓名对应表。实现:首先需要算出所有学生的学号以方便查询。接下来要把学号和考试场次包装成待会要填入的信息,...

    背景:

    学校的网站可以根据学号查学生姓名和成绩,所以我希望通过Python的爬虫得到年级所有同学的学号与姓名对应表。

    实现:

    首先需要算出所有学生的学号以方便查询。接下来要把学号和考试场次包装成待会要填入的信息,这可以用urllib模块里的函数urlencode完成。之后要访问网站,先用urllib2模块里的Request函数获得访问令牌(其实我也不知道是什么),然后用urlopen函数把需要填入的信息和令牌传进去就可以得到查询结果网页的源代码了!

    此后是分析源代码环节,经过分析后发现所需要的姓名在源代码中字符串“姓名”之后的>和&字符之间。故用find函数找到字符串“姓名”的位置,然后用两个变量找到>和&字符的位置,截取之间的字符串就可以得到姓名了。同时表格有一个叫csv的储存形式,是以文本的方式储存的,且可以通过各类Excel软件另存为为xls文件,是我们的首先。

    既然是Python2,就不得不处理编码。在程序头添上使用utf-8的声明,同时在程序开始处加入

    1 importsys2 reload(sys)3 sys.setdefaultencoding(‘utf-8‘)

    把程序内的字符串全部指定为Unicode字符串。同时网页源代码也要由gbk编码转为utf-8。有一点坑的就是原网页的编码是gb2312,结果有同学的姓名是一些奇怪的字,导致会RE。最后查了很久才发现要用gbk代替gb2312来解码。

    代码:

    #-*- coding: UTF-8 -*-

    importurllibimporturllib2importsys

    reload(sys)

    sys.setdefaultencoding(‘utf-8‘)

    url=‘http://www.baidu.com‘f=open(‘E:/list.csv‘,‘a‘)for i in range(1,21):for j in range(1,66):

    table=[(‘xuehao‘,str(10000+i*100+j)+‘\‘or\‘‘), (‘kaoshi‘,‘12‘)]

    search=urllib.urlencode(table)

    req=urllib2.Request(url)

    get=urllib2.urlopen(req, search).read().decode(‘gbk‘).encode(‘utf-8‘)

    l=r=get.find(‘姓名‘)if l!=-1:while get[l]!=‘>‘:

    l+=1

    while get[r]!=‘&‘:

    r+=1

    print str(10000+i*100+j)+get[l+1:r]

    f.write(str(10000+i*100+j)+‘,‘+get[l+1:r]+‘\n‘)

    f.close()

    注意我把学校查成绩的url改为百度的url了因为怕有人对我的学校网站做一些奇怪的事。

    20161016

    原文:http://www.cnblogs.com/YuanZiming/p/5966770.html

    展开全文
  • System.out.println("依次输入学生姓名,成绩"); Student s[]=new Student [number]; for(int i=0;i;i++) { s[i]=new Student(); //没有这一行会出现空指针 Scanner input1 = new ...
  • 打印选课学生名单

    2018-12-26 17:41:00
    打印选课学生名单 (25 分) 假设全校有最多40000名学生和...此后N行,每行包括一个学生姓名(3个大写英文字母+1位数字)、一个正整数C(≤20)代表该生所选的课程门数、随后是C个课程编号。简单起见,课程从1到...
  • 要求:定义一个学生类用来存储学生的信息(包括:学号,姓名,英语成绩、高数 成绩、体育成绩),在main方法中定义一个数组存储5名学生的信息。小 要求:。 (1)按名字查询并输出某位同学成绩,要求能够实现部分匹配的查找,...
  • 运行代码: /* ...*All rights reserved. *文件名称:d.cpp *作 者:张旺华 *完成日期:2015年6月3日 *版 本 号:v1.0 ... * 文件score.dat中保存的是若干名学生的学号 姓名和C++课、高数和英语成绩。 */ #include
  • --学生表CREATETABLEmember(midchar(10)primarykey,mnamechar(50)notnull,);--课程表CREATETABLEcourse(fidchar(10)primarykey,fnamechar(50)notnull,);--成绩表select*fromscoreCREA...--学生表CREATE TABLE member...
  • Python2爬取学生名单

    2019-09-24 19:50:28
    学校的网站可以根据学号查学生姓名和成绩,所以我希望通过Python的爬虫得到年级所有同学的学号与姓名对应表。 实现: 首先需要算出所有学生的学号以方便查询。接下来要把学号和考试场次包装成待会要填入的信息,这...
  • 此后N行,每行包括一个学生姓名(3个大写英文字母+1位数字)、一个正整数C(≤20)代表该生所选的课程门数、随后是C个课程编号。简单起见,课程从1到K编号。 输出格式: 顺序输出课程1到K的选课学生名单。格式为:对...
  • 【项目2-用文件保存的学生名单】参考解答   文件score.dat中保存的是若干名学生姓名和C++课、高数和英语成绩。   (1)定义学生类,其中包含姓名、C++课、高数和英语成绩及总分数据成员。 //定
  • 此后N行,每行包括一个学生姓名(3个大写英文字母+1位数字)、一个正整数C(≤20)代表该生所选的课程门数、随后是C个课程编号。简单起见,课程从1到K编号。 输出格式: 顺序输出课程1到K的选课学生名单。格式为:对...
  • 此后N行,每行包括一个学生姓名(3个大写英文字母+1位数字)、一个正整数C(≤20)代表该生所选的课程门数、随后是C个课程编号。简单起见,课程从1到K编号。 输出格式: 顺序输出课程1到K的选课学生名单。格式为:对...
  • 返回:贺老师课程教学链接 项目要求【项目2-用文件保存的学生名单】文件score.dat中保存的是若干名学生姓名和C++课、高数和英语成绩。(1)定义学生类,其中包含姓名、C++课、高数和英语成绩及总分数据成员。//...
  • 标签:背景:学校的网站可以根据学号查学生姓名和成绩,所以我希望通过Python的爬虫得到年级所有同学的学号与姓名对应表。实现:首先需要算出所有学生的学号以方便查询。接下来要把学号和考试场次包装成待会要填入的...
  • 7-47 打印选课学生名单 (25 分) 假设全校有最多40000名学生和最多...此后N行,每行包括一个学生姓名(3个大写英文字母+1位数字)、一个正整数C(≤20)代表该生所选的课程门数、随后是C个课程编号。简单起见,...
  • 假设全校有最多40000名学生和...此后N行,每行包括一个学生姓名(3个大写英文字母+1位数字)、一个正整数C(≤20)代表该生所选的课程门数、随后是C个课程编号。简单起见,课程从1到K编号。 输出格式: 顺序输出...
  • 学生表 student (s_id,s_name,s_birth,s_sex) –学生编号,学生姓名,出生年月,学生性别–2. 课程表 course (c_id,c_name,t_id) –课程编号,课程名称,教师编号–3. 教师表 teacher (t_id,t_name) –教师编号,...
  • 本题考点: 排序的应用 假设全校有最多40000名学生...此后N行,每行包括一个学生姓名(3个大写英文字母+1位数字)、一个正整数C(≤20)代表该生所选的课程门数、随后是C个课程编号。简单起见,课程从1到K编号。...
  • 编写一个学生类 student,包含的属性有学号、姓名、年龄,将所有学生存储在一个数组中,自拟数据,用数组的初始化方法给数组赋值。并实现如下操作: ①将所有学生年龄增加一岁。 ②按数组中顺序显示所有学生信息。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 585
精华内容 234
关键字:

学生姓名名单