每日练习-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; // 找到第三组。	  
  }
  
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值