一、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; // 找到第三组。
}
}