第一次博客作業

来源:https://www.cnblogs.com/cherry-cream/archive/2023/10/07/17747171.html
-Advertisement-
Play Games

前言 這學期才開始接觸Java,之前只學了C語言,所以一開始寫題目的代碼的時候對Java的眾多函數和語法不是太熟悉,一開始就上手寫代碼有點不適應。 ​ 關於類: 1、類似C中的struct,構造函數、內置方法(函數 )都比較相似 2、儘量避免代碼的重覆,把private和public的方法搞清晰。 ...


前言

這學期才開始接觸Java,之前只學了C語言,所以一開始寫題目的代碼的時候對Java的眾多函數和語法不是太熟悉,一開始就上手寫代碼有點不適應。

​ 關於類:

1、類似C中的struct,構造函數、內置方法(函數 )都比較相似

2、儘量避免代碼的重覆,把private和public的方法搞清晰。

3、把我們需要解決的問題進行拆分,拆得好就寫得快

三次題目集的知識點、題量、難度等情況

(對於重難點題目將會給出完整題目)

第一次作業:1、 身體質量指數(BMI)測算  2、NCHU_奇數求和  3、NCHU_房產稅費計算  4、游戲角色選擇  5、NCHU_學號識別 6、NCHU_巴比倫法求平方根近似值 7、二進位數值提取 8、判斷三角形類型 9、長度質量計量單位換算

第一次作業較為簡單,熟悉了java的一些基本操作,和一些簡單函數的運用。

第二次作業:1、成績計算-1-類、數組的基本運用

2、成績計算-2-關聯類

創建成績類,包含:

屬性:平時成績(int)、期末成績(int)

方法:計算總成績(計算規則:平時成績*0.4+期末成績*0.6,保留整數部分,小數部分直接丟棄)

創建學生類,包含:

屬性:學號(String)、姓名(String)、語文成績(成績類)、數學成績(成績類)、物理成績(成績類)

方法:計算總分、計算平均分

輸入3個學生的信息,將每個學生的信息封裝在一個學生對象中。

按輸入順序依次輸出3個學生的總分、平均分(精確到小數點後兩位,捨去部分按四捨五入規則計入最後一位)。

浮點數保留小數的相關知識可參考:https://blog.csdn.net/huaishuming/article/details/17752365

註意:未用學生類對象封裝數據的,本題計0分

 

輸入格式:

依次輸入3個學生的每門課成績,每個學生成績信息格式:

學號+英文空格+姓名+英文空格+課程名+英文空格+平時成績+英文空格+期末成績

註:3個學生的課程順序可能會不一致

例如:

22201311 張琳 語文 70 80

22201311 張琳 數學 85 89

22201311 張琳 物理 75 83

22201312 黃昊 語文 66 78

22201312 黃昊 數學 76 82

22201312 黃昊 物理 83 82

22201313 李少辰 語文 86 76

22201313 李少辰 數學 78 76

22201313 李少辰 物理 87 76

輸出格式:

3個學生信息,每個學生信息格式:

學號+英文空格+姓名+英文空格+總成績+英文空格+平均分

例如:

22201311 張琳 242 80.67

22201312 黃昊 234 78.00

22201313 李少辰 236 78.67

 

輸入樣例:

在這裡給出一組輸入。例如:

22201311 張琳 語文 70 80

22201311 張琳 數學 85 89

22201311 張琳 物理 75 83

22201312 黃昊 語文 66 78

22201312 黃昊 數學 76 82

22201312 黃昊 物理 83 82

22201313 李少辰 語文 86 76

22201313 李少辰 數學 78 76

22201313 李少辰 物理 87 76

輸出樣例:

在這裡給出相應的輸出。例如:

22201311 張琳 242 76.67 84.00 80.67

22201312 黃昊 234 75.00 80.67 78.00

22201313 李少辰 236 83.67 76.00 78.67

 

代碼長度限制16 KB

時間限制400 ms

記憶體限制64 MB

 

3、有重覆的數據 4、去掉重覆的數據 5、面向對象編程(封裝性)  6、GPS測繪中度分秒轉換

7、菜單計價程式-1

某飯店提供4種菜,每種菜品的基礎價格如下:

西紅柿炒蛋 15

清炒土豆絲 12

麻婆豆腐 12

油淋生菜 9

設計點菜計價程式,根據輸入的訂單,計算並輸出總價格。

訂單由一條或多條點菜記錄組成,每條記錄一行,最後以"end"結束

每條點菜記錄包含:菜名、份額兩個信息。

份額可選項包括:1、2、3,分別代表小、中、大份)

不同份額菜價的計算方法:

小份菜的價格=菜品的基礎價格。

中份菜的價格=菜品的基礎價格1.5。

小份菜的價格=菜品的基礎價格2。

如果計算出現小數,按四捨五入的規則進行處理。

 

參考以下類的模板進行設計:

菜品類:對應菜譜上一道菜的信息。

Dish {

String name;//菜品名稱

int unit_price; //單價

int getPrice(int portion)//計算菜品價格的方法,輸入參數是點菜的份額(輸入數據只能是1/2/3,代表小/中/大份)

}

菜譜類:對應菜譜,包含飯店提供的所有菜的信息。

Menu {

Dish[] dishs ;//菜品數組,保存所有菜品信息

Dish searthDish(String dishName)//根據菜名在菜譜中查找菜品信息,返回Dish對象。

}

點菜記錄類:保存訂單上的一道菜品記錄

Record {

Dish d;//菜品

int portion;//份額(1/2/3代表小/中/大份)

int getPrice()//計價,計算本條記錄的價格

}

訂單類:保存用戶點的所有菜的信息。

Order {

Record[] records;//保存訂單上每一道的記錄

int getTotalPrice()//計算訂單的總價

Record addARecord(String dishName,int portion)

//添加一條菜品信息到訂單中。

}

輸入格式:

每條點菜記錄的格式:

菜名+空格(英文)+份額

註:份額可輸入(1/2/3), 1代表小份,2代表中份,3代表大份。

最後一條記錄以“end”結束。

輸出格式:

訂單上所有菜品的總價(整數數值),每份菜

如果訂單中包含不能識別的菜名,則在總價之前輸出“** does not exist”,**是不能識別的菜名

 

輸入樣例:

在這裡給出一組輸入。例如:

麻婆豆腐 2

西紅柿炒蛋 3

End

輸出樣例:

在這裡給出相應的輸出。例如:

48

 

輸入樣例1:

訂單中包含不存在的菜品記錄。例如:

麻婆豆腐 2

炒脆肚 2

西紅柿炒蛋 3

End

輸出樣例1:

在這裡給出相應的輸出。例如:

炒脆肚 does not exist

48

 

代碼長度限制 16 KB

時間限制 400 ms

記憶體限制 64 MB

 

8、jmu-java-日期類的基本使用

第二次作業的第一、二題學生成績計算,七題菜單計價較為複雜,涉及到的類比較多。這三題的難度較大,一些結構的設計較為繁複。我個人認為第8題的日期計算的代碼調試比較困難,因為你必須去猜老師給的測試用例到底是怎麼算出來的(ps:老師給的測試用例的輸出其實是錯的,但是要過測試點的話,錯也要和老師提供的一樣QAQ

第三次作業:1、jmu-java-日期類的基本使用  

2、課程成績統計程式-1

某高校課程從性質上分為:必修課、選修課,從考核方式上分為:考試、考察。

考試的總成績由平時成績、期末成績分別乘以權重值得出,比如平時成績權重0.3,期末成績權重0.7,總成績=平時成績*0.3+期末成績*0.7。

考察的總成績直接等於期末成績

必修課的考核方式必須為考試,選修課可以選擇考試、考察任一考核方式。

1、輸入:

包括課程、課程成績兩類信息。

課程信息包括:課程名稱、課程性質、考核方式(可選,如果性質是必修課,考核方式可以沒有)三個數據項。

課程信息格式:課程名稱+英文空格+課程性質+英文空格+考核方式

課程性質輸入項:必修、選修

考核方式輸入選項:考試、考察

課程成績信息包括:學號、姓名、課程名稱、平時成績(可選)、期末成績

課程信息格式:學號+英文空格+姓名+英文空格+課程名稱+英文空格+平時成績+英文空格+期末成績

以上信息的相關約束:

1)平時成績和期末成績的權重預設為0.3、0.7

2)成績是整數,不包含小數部分,成績的取值範圍是【0,100】

3)學號由8位數字組成

4)姓名不超過10個字元

5)課程名稱不超過10個字元

6)不特別輸入班級信息,班級號是學號的前6位。

2、輸出:

輸出包含三個部分,包括學生所有課程總成績的平均分、單門課程成績平均分、單門課程總成績平均分、班級所有課程總成績平均分。為避免誤差,平均分的計算方法為累加所有符合條件的單個成績,最後除以總數。

1)學生課程總成績平均分按學號由低到高排序輸出,格式:學號+英文空格+姓名+英文空格+總成績平均分

如果某個學生沒有任何成績信息,輸出:學號+英文空格+姓名+英文空格+"did not take any exams"

2)單門課程成績平均分分為三個分值:平時成績平均分(可選)、期末考試平均分、總成績平均分,按課程名稱的字元順序輸出,格式:課程名稱+英文空格+平時成績平均分+英文空格+期末考試平均分+英文空格+總成績平均分

如果某門課程沒有任何成績信息,輸出:課程名稱+英文空格+"has no grades yet"

3)班級所有課程總成績平均分按班級由低到高排序輸出,格式:班級號+英文空格+總成績平均分

如果某個班級沒有任何成績信息,輸出:班級名稱+英文空格+ "has no grades yet"

異常情況:

1)如果解析某個成績信息時,課程名稱不在已輸入的課程列表中,輸出:學號+英文空格+姓名+英文空格+":"+課程名稱+英文空格+"does not exist"

2)如果解析某個成績信息時,輸入的成績數量和課程的考核方式不匹配,輸出:學號+英文空格+姓名+英文空格+": access mode mismatch"

以上兩種情況如果同時出現,按第一種情況輸出結果。

3)如果解析某個課程信息時,輸入的課程性質和課程的考核方式不匹配,輸出:課程名稱+" : course type & access mode mismatch"

4)格式錯誤以及其他信息異常如成績超出範圍等,均按格式錯誤處理,輸出"wrong format"

5)若出現重覆的課程/成績信息,只保留第一個課程信息,忽略後面輸入的。

信息約束:

1) 成績平均分只取整數部分,小數部分丟棄

 

3、面向對象編程(封裝性)  4、判斷兩個日期的先後,計算間隔天數、周數

第三次作業第二題的難度較大,需要建立很多的類,各個類之間的關係也比較複雜,真的很難TAT,測試點還有很多沒過。

 

設計與分析與主要問題和其解決方法

(這裡只會提供重點題目的重點代碼)

第二次作業:題目一(成績計算-1-類、數組的基本運用):

 1 public class Main {
 2     public static void main(String[] args) {
 3         Scanner sc  = new Scanner(System.in);
 4         Student stu[] = new Student[5];
 5 
 6         int i ;
 7         //依次輸入5個學生的信息
 8         for(i = 0; i < 5; i++){
 9             stu[i] = new Student(sc.next(), sc.next(),sc.nextFloat(),sc.nextFloat(),sc.nextFloat());
10             float[] totoal = new float[5]; //總成績
11             float[] average = new float[5]; //平均成績
12             totoal[i] = stu[i].getChinese() + stu[i].getMath() + stu[i].getPhysic();
13             average[i] = totoal[i]/3;
14             System.out.println(stu[i].getIdnum() + " " + stu[i].getName()+ " " + (int)totoal[i] + " " + String.format("%.2f",average[i]));
15             stu[i] = null;
16         }
17     }
18 }

這題主要要註意成績和平均成績不能存為int類型,不然會導致最後結果的四捨五入的結果不太精確,所以這裡我們直接選擇在最後輸出的時候才將總成績和平均成績轉化成int類型。

 

第二次作業:題目二(成績計算-2-關聯類):

 1 class Student1 {
 2     String idnum;
 3     String name;
 4     double chinese;
 5     double math;
 6     double physic;
 7     double total;
 8     double usual_average;
 9     double final_average;
10     public Student1(String idnum, String name, double chinese, double math, double physic,double total,double usual_average,double final_average){
11         this.idnum = idnum;//獲取學號
12         this.name = name;//獲取姓名
13         this.chinese = chinese;//獲取中文成績
14         this.math = math; //獲取數學成績
15         this.physic = physic;   //獲取物理成績
16         this.total = total;  //獲取平時成績的總分
17         this.usual_average = usual_average;
18         this.final_average = final_average;
19     }
20 }
21 
22 class Student2{//學生成績
23     float usual;
24     float Final;
25     public Student2( float usual, float Final) {
26         this.usual = usual;
27         this.Final = Final;
28     }
29 }
30 
31 public class Main {
32     public static void main(String[] args) {
33         Scanner sc  = new Scanner(System.in);
34         Student1 stu[] = new Student1[3];
35 
36         //依次輸入3個學生的信息
37         for(int i = 0; i < 3; i++) {//學生
38             String student_idnum = "";
39             String student_name = "";
40             double chinese_grades = 0;//初始化語文成績
41             float chinese_usual = 0;
42             float chinese_final = 0;
43             double math_grades = 0;//初始化數學成績
44             float math_usual = 0;
45             float math_final = 0;
46             double physic_grades = 0;//初始化物理成績
47             float physic_usual = 0;
48             float physic_final = 0;
49             double total_grades ;
50             double usual_grades;  //平時成績的平均分
51             double final_grades; //期末成績的平均分
52 
53             for(int j = 0; j < 3; j ++) {
54                 String str1 = sc.nextLine();//直接讀取一整行信息
55                 //將讀取到的信息按一個英文空格進行分割成多個字元串,存在strs數組中,方便後續課程的匹配
56                 String[] strs = str1.split(" ");
57                 student_idnum = strs[0];
58                 student_name = strs[1];
59                 //判斷課程
60                 if ("語文".equals(strs[2])) {
61                     chinese_usual = Float.parseFloat(strs[3]);
62                     chinese_final = Float.parseFloat(strs[4]);
63                     Student2 Chinese = new Student2(chinese_usual, chinese_final);
64                     chinese_grades = chinese_usual * 0.4 + chinese_final * 0.6;
65                 } else if ("數學".equals(strs[2])) {
66                     math_usual = Float.parseFloat(strs[3]);
67                     math_final = Float.parseFloat(strs[4]);
68                     Student2 Math = new Student2(math_usual, math_final);
69                     math_grades = math_usual * 0.4 + math_final * 0.6;
70                 } else if ("物理".equals(strs[2])) {
71                     physic_usual = Float.parseFloat(strs[3]);
72                     physic_final = Float.parseFloat(strs[4]);
73                     Student2 Physic = new Student2(physic_usual, physic_final);
74                     physic_grades = physic_usual * 0.4 + physic_final * 0.6;
75                 }
76             }
77             total_grades = (int)chinese_grades + (int)math_grades + (int) physic_grades ;
78             usual_grades = (chinese_usual + math_usual + physic_usual)/3;
79             final_grades = (chinese_final + math_final + physic_final)/3;
80             stu[i] = new Student1(student_idnum,student_name,chinese_grades,math_grades,physic_grades,total_grades,usual_grades,final_grades);
81         }
82         for(Student1 student : stu){
83             System.out.println(student.idnum + " " + student.name + " " + String.format("%.0f",student.total) + " " + String.format("%.2f",student.usual_average) + " " + String.format("%.2f",student.final_average) + " " + String.format("%.2f",student.total/3));
84         }
85     }
86 }

這個題目需要註意:

    1. 使用合適的輸入方法:根據題目要求,在Java中可以使用Scanner類來讀取輸入。通過創建Scanner對象,可以使用其提供的方法(如nextInt()nextLine()等)逐行讀取輸入數據。這題的輸入格式我們讀取的話,最好選用讀取一整行,然後利用分割函數按照空格來分割,將對應的姓名、課程、學號分別進行判斷和處理會更加容易。
  1. 確定輸入數據的格式:在讀取輸入之前,需要確定輸入數據的格式,以便正確地使用適當的方法讀取和處理數據。根據題目中給出的輸入格式,可以通過調用Scanner對象的相應方法來按格式逐行讀取輸入。

  2. 錯誤處理和異常情況:在讀取輸入數據時,可以考慮加入適當的錯誤處理和異常情況處理機制。例如,可以使用try-catch語句塊來捕獲輸入格式錯誤、類型轉換錯誤等可能發生的異常,並根據具體情況進行相應的處理和輸出錯誤提示。

  3. 迴圈讀取輸入數據:根據題目要求,需要依次輸入多個學生的成績信息。可以使用迴圈結構(如for迴圈或while迴圈)來重覆讀取輸入,直到滿足停止輸入的條件(如輸入end後停止)。

  4. 數據存儲和處理:將讀取的數據存儲在合適的數據結構中,如學生對象、成績對象等,以便後續的計算和處理。根據題目要求,可以設計學生類和成績類,並將讀取的數據封裝在對應的對象中。

 

第二次作業:題目七(菜單計價):

 1 public class Main {
 2     public static void main(String[] args) {
 3         // 初始化菜譜
 4         Dish dish1 = new Dish("西紅柿炒蛋", 15);
 5         Dish dish2 = new Dish("清炒土豆絲", 12);
 6         Dish dish3 = new Dish("麻婆豆腐", 12);
 7         Dish dish4 = new Dish("油淋生菜", 9);
 8 
 9         Menu menu = new Menu();
10         menu.addDish(dish1);
11         menu.addDish(dish2);
12         menu.addDish(dish3);
13         menu.addDish(dish4);
14 
15         // 輸入訂單信息
16         Scanner scanner = new Scanner(System.in);
17         Order order = new Order();
18 
19         String input = scanner.nextLine();
20         while (!input.equals("end")) {
21             String[] parts = input.split(" ");
22             String dishName = parts[0];
23             int portion = Integer.parseInt(parts[1]);
24             Dish dish = menu.searchDish(dishName);
25             if (dish == null) {
26                 System.out.println(dishName + " does not exist");
27             } else {
28                 Record record = new Record(dish, portion);
29                 order.addRecord(record);
30             }
31             input = scanner.nextLine();
32         }
33 
34         // 計算訂單總價並輸出
35         int totalPrice = order.getTotalPrice();
36         System.out.println( totalPrice);
37     }
38 }

這個題目需要註意的點:

  1. 輸入數據的合法性驗證:確保輸入的菜名和份額符合要求,菜名必須在菜譜中存在,份額必須是1、2、3中的一個。如果輸入的菜名無法識別或者份額不合法,需要進行相應的錯誤處理。

  2. 價格計算的精確性和規則:根據輸入的菜名和份額,使用菜譜中對應菜品的基礎價格以及份額規則計算菜品的價格。小份菜的價格等於基礎價格,中份菜的價格為基礎價格乘以1.5,大份菜的價格為基礎價格乘以2。對於計算結果可能存在的小數部分,需要按照四捨五入的規則進行處理,最後輸出整數結果。

  3. 訂單的數據存儲和計算:使用訂單類來保存用戶點的所有菜的信息,每一條記錄包括菜品和份額。訂單類需要提供方法來添加一條菜品記錄和計算訂單的總價。在添加記錄時,需要根據菜名查找對應的菜品信息,如果菜名無法識別,需要進行相應的錯誤處理。

  4. 輸出結果的格式:輸出訂單的總價,以及每份菜的價格。總價為整數結果,每份菜的價格也為整數。如果訂單中包含不能識別的菜名,需要在輸出總價之前輸出對應的錯誤提示。

  5. 異常情況的處理:在處理輸入數據和計算過程中,可能會遇到異常情況,比如輸入錯誤、菜名無法識別等。需要進行適當的錯誤處理,包括錯誤提示和相關輸出。

 

第三次作業:題目二(課程成績統計程式-1):

 

這個題的測試點——單門考試課程 單個學生、考核數據與考核方式不匹配、多門課程,單個學生,含錯誤信息、單個班級,多個學生,多門課程、多個班級,多門課程,多個學生  均未通過,我在題目截至之後又調試了下代碼,發現多對多、多對單、單對多方面均有一些問題

  1 //選課
  2 class choose{
  3     scores score;
  4     Stu student;
  5     lessons lesson;
  6 }
  7 //課程
  8 class lessons{
  9     String lesson_name;
 10     String course;//必修或選修
 11     String option;//考察方式
 12     public void setLesson_name(String lesson_name){
 13         this.lesson_name = lesson_name;
 14     }
 15     public String getLesson_name(){
 16         return lesson_name;
 17     }
 18     public void setCourse(String course){
 19         this.course = course;
 20     }
 21     public String getCourse(){
 22         return course;
 23     }
 24     public void setOption(String option){
 25         this.option = option;
 26     }
 27     public String getOption(){
 28         return option;
 29     }
 30     lessons(String lesson_name , String course , String option){
 31         setLesson_name(lesson_name);
 32         setCourse(course);
 33         setOption(option);
 34     }
 35 }
 36 //學生
 37 class Stu{
 38     String idnum;
 39     String name;
 40     public void setIdnum(String idnum){
 41         this.idnum = idnum;
 42     }
 43     public String getIdnum(){
 44         return idnum;
 45     }
 46     public void setName(String name){
 47         this.name = name;
 48     }
 49     public String getName(){
 50         return name;
 51     }
 52     Stu(String idnum,String name){
 53         setIdnum(idnum);
 54         setName(name);
 55     }
 56 }
 57 //班級
 58 class Classes{
 59     Stu student;
 60     String class_num;
 61     HashMap<String,Stu> Stus;
 62     Classes(String class_num){
 63         setClassNum(class_num);
 64     }
 65     public void setClassNum(String class_num) {
 66         this.class_num = class_num;
 67     }
 68     public String getClassNum() {
 69         return class_num;
 70     }
 71     public void addStudent(Stu student) {
 72         Stus.put(student.getIdnum() , student);
 73     }
 74 }
 75 //成績
 76 abstract class scores{
 77     int All_score;
 78     abstract void getAll_score();
 79 }
 80 //考試成績
 81 class exam_score extends scores{
 82     int usual_score;
 83     int final_score;
 84     exam_score(int usual_score , int final_score){
 85         setUsual_score(usual_score);
 86         setFinal_score(final_score);
 87     }
 88     public void setUsual_score(int usual_score) {
 89         this.usual_score = usual_score;
 90     }
 91     public int getUsual_score() {
 92         return usual_score;
 93     }
 94     public void setFinal_score(int final_score) {
 95         this.final_score = final_score;
 96     }
 97     public int getFinal_score() {
 98         return final_score;
 99     }
100     @Override
101     void getAll_score() {
102         All_score = (int) (usual_score*0.3+final_score*0.7);
103     }
104 }
105 //考察成績
106 class inspect_score extends scores{
107      int finalGrade;
108     inspect_score(int finalGrade) {
109         setFinalGrade(finalGrade);
110     }
111     public void setFinalGrade(int finalGrade) {
112         this.finalGrade = finalGrade;
113     }
114     public int getFinalGrade() {
115         return finalGrade;
116     }
117     @Override
118     void getAll_score() {
119         All_score = finalGrade;
120     }
121 }
122 /**********此處省略輸入、輸出類**********/308 
309 public class Main {
310     //throws IOException表示該方法可能會拋出IOException異常,需要通過異常處理機制進行處理
311      public static void main(String[] args) throws IOException{
312          //InputStreamReader(System.in)用於將位元組流轉換為字元流,這樣我們可以按字元的方式來讀取用戶輸入。
313          //BufferedReader則是一個字元緩衝流,它提供了更高效的讀取文本的方法,其中readLine()方法可以讀取一行用戶輸入。
314          BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
315          input inputs = new input();
316          inputs.outputs = new output();
317          String strs;
318 
319          while ((strs = in.readLine()) != null){
320              if(strs.equals("end"))  break;

              
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、概念 資料庫:DataBase,簡稱DB。按照一定格式存儲數據的一些文件的組合顧名思義: 存儲數據的倉庫,實際上就是一堆文件。這些文件中存儲了具有特定格式的數據。 資料庫管理系統:DataBaseManagement,簡稱DBMS。資料庫管理系統是專門用來管理資料庫中數據的,資料庫管理系統可以對 ...
  • 目錄一.準備備份腳本並拷貝進容器二,在宿主機寫定時任務去執行容器內的備份腳本 一.準備備份腳本並拷貝進容器 vi backup.sh #內容如下 #!/bin/bash # PostgreSQL database credentials DB_NAME="<要備份的資料庫名>" DB_USER="< ...
  • 本文分享自華為雲社區《GaussDB(DWS)性能調優:MERGE場景下語句不下推引起的性能瓶頸問題案例》,作者:O泡果奶~。 1、【問題描述】 語句執行時間過長,且該語句performance執行計劃中SQL Diagnostic Information顯示SQL語句不下推,理由為:Type of ...
  • 數據泵(impdb)導入Oracle資料庫 一.sqlplus登錄目標資料庫,創建導入的目錄路徑 #該目錄要在導入的資料庫本機建立,如果是docker就在容器內部創建 create directory data_dir as '/home/oracle/prd_imp/prd_dump'; data ...
  • 線上經常偶發死鎖問題,當時處理一張表,也沒有聯表處理,但是有兩個mq入口,並且消息體存在一樣的情況,頻率還不是很低,這麼一個背景,我非常容易懷疑到,兩個消息同時近到這一個事務裡面導致的,但是是偶發的,又模擬不出來什麼場景會導致死鎖,只能進行代碼分析,問題還原的方式去排查問題。 ...
  • 一、數據模型架構規範 1.數據層次的劃分 ODS:Operational Data Store,操作數據層,在結構上其與源系統的增量或者全量數據基本保持一致。它相當於DW數據的一個數據準備區,同時又承擔著基礎數據的記錄以及歷史變化。其主要作用是把基礎數據引入到DMP。 CDM:Common Data ...
  • 這裡給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 下圖這個情景,你是否也遇到過? 當你右鍵點擊網頁上的某個元素時,彈出的菜單被屏幕邊緣遮擋了,導致你無法看清或選擇菜單項? 上圖中右鍵菜單的選項並不是固定不變的,它會根據不同的元素或場景來顯示不同的選項。 也就是說,菜單的內容和大小都是動態 ...
  • eval函數的作用 'eval'函數是javascript中的一個內置函數,它的主要作用是將傳入的字元串作為代碼來執行。換句話說,'eval'可以將動態生成的字元串當作javascript代碼來執行,並返回執行結果。 我的理解就是它可以執行傳入的代碼,並返回執行結果。 為什麼不推薦使用eval 1、 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...