1. 程式人生 > >每日練習-20181214

每日練習-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; // 找到第三組。	  
  }
  
}