每日练习-20181214

一、JQuery 问答题

jQuery 中有哪些方法可以遍历节点?
解答

辈分 位置 方式 语法示例
同辈元素 前后所有 siblings() $("tex").siblings()。$("tex").siblings("p")
前面紧邻 prev() $("tex").prev()
后面紧邻 next() $("tex").next()
子元素 所有 children() $("tex").children() 。$("tex").children("p.bgred")
后代元素 所有 find() $("tex").find("p")。$("tex").find("*")
相同 定点 eq() $("p").eq(0)

二、MySQL 问答题

什么是数据库三大范式?
解答

项目 含义
含义 设计关系型数据库时,遵守的理念。
目的 优化数据数据存储方式,建立冗余较小、结构合理的数据库。
设计思想 需求>性能>表结构
各范式关系 建立在前面范式基础之上,即要求递增。
范式 项目 含义 示例
第一范式 原子性 字段不可分,即属性值唯一 固定电话号码和移动电话号码各自占用一个字段
第二范式 一表一事物 一行数据只做一件事 (订单编号,房间号,联系人编号)和(联系人编号,人名,手机号)不能制成一张表
有主键 有且仅有一个主键
非主键依赖性 非主键依赖于主键
第三范式 无传递关系 非主键直接依赖于主键 (学号,姓名,校名)和(校名,校址,校电话)分开建表,因为学号依赖于校名。 校名依赖于校址

三、Java 编程题

两个乒乓球队进行比赛,各出三人。甲队为 a,b,c 三人,乙队为 x,y,z 三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a 说他不和 x 比,c 说他不和 x,z 比,请编程序找出三队赛手的名单。
解答

import java.util.*;

public class Day7 {
  public static void main(String[] args){
	  Day7 game = new Day7();
	  // 输入队员名。前三为甲队,后三为乙队。
	  game.setName("a","b","c","x","y","z");
	  /*
	   * 输入规则:
	   *  1. 前二同队,后二同队。
	   *  2. 第一位不和第三位、第四位打。
	   *  3. 第二位不和第四位打。
	   */
	  game.getResult("c","a","z","x");	
  }
  String[] arr1 = new String[3]; // 甲队。
  String[] arr2 = new String[3]; // 乙队。
  public void setName(String x,String y,String z,String a,String b,String c){
	  arr1[0] = x;
	  arr1[1] = y;
	  arr1[2] = z;
	  arr2[0] = a;
	  arr2[1] = b;
	  arr2[2] = c;
  }
  // 输出结果方法:m和o同队,l和n同队。m不和(l,n)打,o不和n打
  public void getResult(String m, String o, String l,  String n ){	  
	  if(judgeTeam(m) == "甲队"){ // 说明n和l是乙队。
		  findResult(arr1,arr2,m,n,l,o);	
	  }else{
		  findResult(arr2,arr1,m,n,l,o);	
	  }
	  System.out.println(arr1[0]+ " PK " + arr2[0] + "。" + arr1[1] + " PK " + arr2[1] + "。" + arr1[2]+ " PK " + arr2[2]);
  }  
  // 方法:判断前二位为哪一队。 
  public String judgeTeam(String x){
	  String team = "甲队";
	  for(String s : arr2){
		  if(s == x){
			  team = "乙队";
			  break;
		  }
	  }
	  return team;
  } 
  // 方法:寻找数组arr中,未参与者。
  public String findPeople(String[] arr,String n,String l){
	  List<String> l1 = Arrays.asList(arr); //将数组转换为list集合
	  List<String> l2 = new ArrayList<String>(l1); //转换为ArrayLsit。
	  l2.remove(n); // 删除n。
	  l2.remove(l); // 删除l。
	  return l2.get(0); // 未参与者。
  }
  // 方法:重新安置数组array2中的元素。
  public void findResult(String[] array1, String[] array2,String m,String n,String l,String o){
	  int a1 = Arrays.binarySearch(array1, m); // arr1中,获取元素为m的索引。
	  int a2 = Arrays.binarySearch(array1, o); 
	  int a3 = Arrays.binarySearch(array1, findPeople(array1,m,o)); // array1中,获取未参与元素的索引。
	  array2[a1] = findPeople(array2,n,l); // 找到第一组。
	  array2[a2] = l; // 找到第二组。
	  array2[a3] = n; // 找到第三组。	  
  }
  
}

猜你喜欢

转载自blog.csdn.net/lizengbao/article/details/84999793