主頁 > 後端開發 > Java 客戶資訊管理軟體 (面向物件 封裝 總結)

Java 客戶資訊管理軟體 (面向物件 封裝 總結)

2021-09-18 08:07:38 後端開發

 1 package com.bytezero.cim.bean;
 2 
 3 /**
 4  * 
 5  * @Description   Customer為物體物件,用來封裝客戶資訊
 6  * @author  Bytezero·zhenglei!      Email:[email protected]
 7  * @version
 8  * @date 2021年9月16日下午6:34:59
 9  * @
10  *
11  */
12 public class Customer 
13 {
14     private String name;    //客戶姓名
15     private    char gender;    //性別
16     private    int age;        // 年齡
17     private    String phone;   //電話
18     private    String email;   //電子郵箱
19     
20     
21     public String getName() {
22         return name;
23     }
24     public void setName(String name) {
25         this.name = name;
26     }
27     public char getGender() {
28         return gender;
29     }
30     public void setGender(char gender) {
31         this.gender = gender;
32     }
33     public int getAge() {
34         return age;
35     }
36     public void setAge(int age) {
37         this.age = age;
38     }
39     public String getPhone() {
40         return phone;
41     }
42     public void setPhone(String phone) {
43         this.phone = phone;
44     }
45     public String getEmail() {
46         return email;
47     }
48     public void setEmail(String email) {
49         this.email = email;
50     }
51     public Customer() {
52         
53     }
54     public Customer(String name, char gender, int age, String phone, String email) 
55     {
56         
57         this.name = name;
58         this.gender = gender;
59         this.age = age;
60         this.phone = phone;
61         this.email = email;
62     }
63     
64     
65     
66 
67     
68     
69     
70     
71     
72     
73     
74     
75     
76     
77     
78     
79     
80     
81     
82     
83 }
  1 package com.bytezero.cim.service;
  2 
  3 import com.bytezero.cim.bean.Customer;
  4 
  5 /**
  6  * 
  7  * @Description   CustomerList為Customer物件的管理模塊,內部
  8  * 用陣列管理一組Customer物件,并提供相應的添加,修改,洗掉和
  9  * 遍歷方法,供CustomerView呼叫
 10  * @author  Bytezero·zhenglei!      Email:[email protected]
 11  * @version
 12  * @date 2021年9月16日下午6:37:42
 13  * @
 14  *
 15  */
 16 public class CustomerList
 17 {
 18     private Customer[] customers;  //用來保存客戶物件陣列
 19     private int total = 0;         //記錄已保存客戶物件的數量
 20     
 21     
 22     /**
 23      * 用來初始化 customers陣列的構造器  
 24      * @param totalCustomer  指定 customer是陣列最大的空間
 25      */
 26     public CustomerList(int totalCustomer)
 27     {
 28         customers = new Customer[totalCustomer];
 29     }
 30     
 31     
 32     /**
 33      * 
 34      * @Description 將指定的客戶添加到陣列中
 35      * @author  Bytezero·zhenglei!
 36      * @date 2021年9月17日上午10:40:03
 37      * @param customer
 38      * @return  true:添加成功  false:添加失敗
 39      *
 40      */
 41     public boolean addCustomer(Customer customer)
 42     {
 43         if(total >= customers.length)
 44         {
 45             return false;
 46         }
 47         
 48 //        customers[total] = customer;
 49 //        total++;
 50         //
 51         customers[total++] = customer;
 52         
 53         return true;
 54         
 55         
 56         
 57         
 58         
 59     }
 60     /**
 61      * 
 62      * @Description  修改指定索引位置的客戶資訊
 63      * @author  Bytezero·zhenglei!
 64      * @date 2021年9月17日上午10:43:53
 65      * @param index
 66      * @param cust
 67      * @return  true:修改成功     false:修改失敗
 68      *
 69      */
 70     
 71     public boolean replaceCustomer(int index,Customer cust)
 72     {
 73         if(index < 0|| index >= total)
 74         {
 75             return false;
 76         }
 77         else
 78         {
 79             customers[index] = cust;
 80             return true;
 81         }
 82     }
 83     
 84     /**
 85      * 
 86      * @Description  洗掉指定索引位置上的客戶
 87      * @author  Bytezero·zhenglei!
 88      * @date 2021年9月17日上午10:53:57
 89      * @param index
 90      * @return  true:洗掉成功   false:洗掉失敗
 91      *
 92      */
 93     public boolean deleteCustomer(int index)
 94     {
 95         if(index < 0|| index >= total)
 96         {
 97             return false;
 98         }
 99         else
100         {
101             for(int i = index; i< total-1;i++)
102             {
103                 customers[i] = customers[i+1];
104             }
105             
106             //最后有資料的元素需要置空
107             //customers[total -1 ] = null;
108             //total--;
109             //
110             customers[--total ] = null;
111             return true;
112         }
113     }
114     /**
115      * 
116      * @Description  獲取所有客戶的資訊
117      * @author  Bytezero·zhenglei!
118      * @date 2021年9月17日上午11:02:11
119      * @return
120      *
121      */
122     public Customer[] getAllCustomers()
123     {
124         Customer[] custs = new Customer[total];
125         for(int i =0; i <total; i++)
126         {
127             custs[i] = customers[i];
128         }
129         return custs;
130         
131     }
132     
133     /**
134      * 
135      * @Description 獲取指定索引位置上的客戶
136      * @author  Bytezero·zhenglei!
137      * @date 2021年9月17日上午11:06:45
138      * @param index
139      * @return 如果找到了元素 則回傳 ; 如果沒有找到 回傳null
140      *
141      */
142     public Customer getCustomer(int index)
143     {
144         if(index < 0|| index >= total)
145         {
146             return null;
147         }
148         return customers[index];
149     }
150     
151     /**
152      * 
153      * @Description  獲取存盤的客戶的數量
154      * @author  Bytezero·zhenglei!
155      * @date 2021年9月17日上午11:08:31
156      * @return
157      *
158      */
159     public int getTotal()
160     {
161         return total;
162     }
163     
164     
165 }
  1 package com.bytezero.cim.view;
  2 
  3 
  4 
  5 import com.bytezero.cim.bean.Customer;
  6 import com.bytezero.cim.service.CustomerList;
  7 import com.bytezero.cim.util.CMUtility;
  8 
  9 /**
 10  * 
 11  * @Description   CustomerView為主模塊,負責選單的顯示和處理用戶操作
 12  * @author  Bytezero·zhenglei!      Email:[email protected]
 13  * @version
 14  * @date 2021年9月16日下午6:40:43
 15  * @
 16  *
 17  */
 18 public class CustomerView 
 19 {
 20     private CustomerList customerList = new CustomerList(10);
 21     
 22     
 23     
 24     
 25     public CustomerView()
 26     {
 27         Customer customer = new Customer("zhenglei", '男', 21, "zl420498246","[email protected]" );
 28         customerList.addCustomer(customer);
 29     }
 30     
 31     /**
 32      * 
 33      * @Description  顯示《客戶資訊管理軟體》界面的操作
 34      * @author  Bytezero·zhenglei!
 35      * @date 2021年9月17日上午11:14:51
 36      *
 37      */
 38     public void enterMainMenu()
 39     {
 40         
 41         boolean isFlag = true;
 42         while(isFlag)
 43         {
 44         
 45         System.out.println("\n--------------------客戶資訊管理軟體--------------------\n");
 46         System.out.println("                       1.添加客戶");
 47         System.out.println("                       2.修改客戶");
 48         System.out.println("                       3.洗掉客戶");
 49         System.out.println("                       4.客戶串列");
 50         System.out.println("                       5.退    出\n");
 51         System.out.print("          請選擇(1-5):");
 52         
 53         char menu = CMUtility.readMenuSelection();
 54         switch(menu)
 55         {
 56             case '1':
 57                 addNewCustomer();
 58                 break;
 59                 
 60             case '2':
 61                 modifyCustomer();
 62                 break;
 63                 
 64             case '3':
 65                 deleteCustomer();
 66                 break;
 67                 
 68             case '4':
 69                 listAllCustomers();
 70                 break;
 71                 
 72             case '5':
 73                 //System.out.println("退出");
 74                 System.out.println("確認是否退出(Y/N):");
 75                 char isExit =  CMUtility.readConfirmSelection();
 76                 if(isExit == 'Y')
 77                 {
 78                     isFlag = false;
 79                 }
 80                 
 81                 
 82                 break;
 83                 
 84         }
 85 //        isFlag = false;
 86         
 87         }
 88         
 89         
 90         
 91         
 92         
 93         
 94         
 95         
 96     }
 97     
 98     /**
 99      * 
100      * @Description  添加客戶的操作
101      * @author  Bytezero·zhenglei!
102      * @date 2021年9月17日上午11:13:37
103      *
104      */
105     private void addNewCustomer()
106     {
107         //System.out.println("添加客戶的操作");
108         System.out.println("------------------添加客戶------------------");
109         
110         System.out.print("姓名:");
111         String name = CMUtility.readString(10);
112         
113         System.out.print("性別:");
114         char gender = CMUtility.readChar();
115         
116         System.out.print("年齡:");
117         int age = CMUtility.readInt();
118         
119         System.out.print("電話:");
120         String phone = CMUtility.readString(13);
121         
122         System.out.print("郵箱:");
123         String email = CMUtility.readString(30);
124         
125         //將上述資料封裝到物件中
126         Customer customer = new Customer(name,gender,age,phone,email);
127         
128         boolean isSuccess = customerList.addCustomer(customer);
129         if(isSuccess)
130         {
131             System.out.println("------------------添加完成------------------");
132         }
133         else
134         {
135             System.out.println("------------------添加目錄已滿,添加失敗------------------");
136         }
137     }
138     
139     /**
140      * 
141      * @Description 修改客戶的操作
142      * @author  Bytezero·zhenglei!
143      * @date 2021年9月17日上午11:14:03
144      *
145      */
146     private void modifyCustomer()
147     {
148         //System.out.println("修改客戶的操作");
149         System.out.println("------------------添修改客戶------------------");
150         
151         Customer cust;
152         int number;
153         for(;;)
154         {
155             System.out.print("請選擇待修改客戶編號(-1退出):");
156             number = CMUtility.readInt();    
157             
158             if(number == -1)
159             {
160                 return;
161             }
162             
163             cust = customerList.getCustomer(number - 1 );
164             if(cust == null)
165             {
166                 System.out.println("無法找到指定的客戶!");
167             }
168             else
169             {
170                 //找到了相應的編號客戶
171                 break;
172             }
173             
174         }
175         
176         //修改客戶資訊
177         System.out.println("姓名("+ cust.getName()+"):");
178         String name = CMUtility.readString(10,cust.getName());
179         
180         System.out.println("性別("+ cust.getGender()+"):");
181         char gender = CMUtility.readChar(cust.getGender());
182         
183         System.out.println("年齡("+ cust.getAge()+"):");
184         int age = CMUtility.readInt(cust.getAge());
185         
186         
187         System.out.println("電話("+ cust.getPhone()+"):");
188         String phone = CMUtility.readString(13,cust.getPhone());
189         
190         System.out.println("郵箱("+ cust.getEmail()+"):");
191         String email = CMUtility.readString(30,cust.getEmail());
192         
193         Customer newCust  = new Customer(name,gender,age,phone,email);
194         
195         boolean isreplaced = customerList.replaceCustomer(number - 1, newCust);
196         
197         if(isreplaced)
198         {
199             System.out.println("------------------修改完成------------------");
200             
201         }
202         else
203         {
204             System.out.println("------------------修改失敗------------------");
205         }
206     }
207     
208     /**
209      * 
210      * @Description  洗掉客戶的操作
211      * @author  Bytezero·zhenglei!
212      * @date 2021年9月17日上午11:14:19
213      *
214      */
215     private void deleteCustomer()
216     {
217         //System.out.println("洗掉客戶的操作");
218         System.out.println("------------------洗掉客戶------------------");
219         int number;
220         for(;;)
221         {
222             
223             System.out.println("選擇待洗掉客戶的編號(-1退出)");
224             
225             
226              number = CMUtility.readInt();
227             
228             if(number == -1)
229             {
230                 return;
231             }
232             
233             Customer customer = customerList.getCustomer(number - 1);
234                 
235             if(customer == null)
236             {
237                 System.out.println("無法找到指定的客戶!");
238             }
239             else
240             {
241                 break;
242             }
243 
244             
245         }
246         //找到了指定的客戶
247         System.out.print("確認是否洗掉(Y/N):");
248         
249         char isDelete = CMUtility.readConfirmSelection();
250         if(isDelete == 'Y')
251         {
252             boolean deleteSuccess = customerList.deleteCustomer(number - 1);
253             if(deleteSuccess)
254             {
255                 System.out.println("------------------洗掉完成------------------");
256             }
257             else
258             {
259                 System.out.println("------------------洗掉失敗------------------");
260             }
261         
262         }
263         else
264         {
265             return;
266         }
267         
268         
269     }
270     
271     /**
272      * 
273      * @Description   顯示客戶串列的操作
274      * @author  Bytezero·zhenglei!
275      * @date 2021年9月17日上午11:14:29
276      *
277      */
278     private void listAllCustomers()
279     {
280         //System.out.println("顯示客戶串列的操作");
281         
282         System.out.println("------------------客戶串列------------------\n");
283         
284         int total = customerList.getTotal();
285         if(total == 0)
286         {
287             System.out.println("沒有客戶記錄,");
288             
289         }
290         else
291         {
292             System.out.println("編號\t姓名\t\t性別\t年齡\t電話\t\t郵箱\t");
293             Customer[] custs = customerList.getAllCustomers();
294             for(int i =0; i <custs.length;i++)
295             {
296                 Customer cust = custs[i];
297                 System.out.println((i+1)+"\t"+cust.getName()+"\t"+cust.getGender()
298                 +"\t"+cust.getAge()+"\t"+cust.getPhone()+"\t"+cust.getEmail());
299             }
300                 
301         }
302         
303 
304         
305         System.out.println("------------------客戶串列完成------------------\n");
306         
307         
308         
309     }
310     
311     
312     public static void main(String[] args) 
313     {
314         CustomerView view = new CustomerView();
315         view.enterMainMenu();
316     }
317     
318 }
  1 package com.bytezero.cim.util;
  2 
  3 import java.util.*;
  4 
  5 /**
  6  * 
  7  * @Description  CMUtility工具類
  8  * 將不同的功能封裝為方法,就是可以直接通過調方法使用它的功能,而無需考慮具體的功能實作細節
  9  * @author  Bytezero·zhenglei!      Email:[email protected]
 10  * @version
 11  * @date 2021年9月16日下午6:42:52
 12  * @
 13  *
 14  */
 15 public class CMUtility 
 16 {
 17     private static Scanner scanner = new Scanner(System.in);
 18     /**
 19      * 用于界面選單的選擇,該方法讀取鍵盤,如果用戶鍵入‘1’-‘5’中的任意字符,則回傳
 20      * 方法,回傳值為用戶鍵入字符
 21      */
 22     public static char readMenuSelection()
 23     {
 24         char c;
 25         for(;;)
 26         {
 27             String str = readKeyBoard(1,false);
 28             c = str.charAt(0);
 29             if(c != '1'&& c != '2' && c != '3' && c != '4' && c != '5')
 30             {
 31                 System.out.print("選擇錯誤,請重新選擇:");
 32             }
 33             else break;
 34         }
 35         return c;
 36     }
 37     
 38     /**
 39      * 從鍵盤讀取一個字符,并將其作為方法的回傳值
 40      */
 41     public static char readChar()
 42     {
 43         String str = readKeyBoard(1,false);
 44         return str.charAt(0);
 45     }
 46     
 47     /**
 48      * 從鍵盤讀取一個字符,并將其作為方法的回傳值
 49      * 如果用戶不輸入字符而直接回車,方法將以 defaultValue 作為回傳值
 50      */
 51     public static char readChar(char defaultValue)
 52     {
 53         String str = readKeyBoard(1,true);
 54         return (str.length()==0)?defaultValue : str.charAt(0);
 55     }
 56     
 57     /**
 58      * 從鍵盤讀取一個長度不超過 2位的整數,并將其作為方法的回傳值
 59      */
 60     public static int readInt()
 61     {
 62         int n;
 63         for(;;)
 64         {
 65             String str = readKeyBoard(2,false);
 66             try 
 67             {
 68                 n = Integer.parseInt(str);
 69                 break;
 70             }
 71             catch(NumberFormatException e)
 72             {
 73                 System.out.println("數字輸入錯誤,請重新輸入:");
 74             }
 75         }
 76         return n;
 77     }
 78     
 79     /**
 80      * 從鍵盤讀取一個長度不超過2位的整數,并將其作為方法的回傳值
 81      * 如果用戶不輸入字符而直接回車,方法將以defaultValue作為回傳值
 82      */
 83     public static int readInt(int defaultValue)
 84     {
 85         int n;
 86         for(;;)
 87         {
 88             String str = readKeyBoard(2,true);
 89             if(str.equals(""))
 90             {
 91                 return defaultValue;
 92             }
 93             try
 94             {
 95                 n = Integer.parseInt(str);
 96                 break;
 97             }
 98             catch(NumberFormatException e)
 99             {
100                 System.out.println("數字輸入錯誤,請重新輸入:");
101             }
102         }
103         return n;
104     }
105     
106     /**
107      *  從鍵盤讀取一個長度不超過 limit 的字串,并將其作為方法的回傳值
108      */
109     public static String readString(int limit)
110     {
111         return readKeyBoard(limit,false);
112     }
113     
114     /**
115      * 從鍵盤讀取一個長度不超過 limit 的字串,并將其作為方法的回傳值
116      * 如果用戶不輸入字符而直接回車,方法以 defaultValue作為回傳值
117      */
118     public static String readString(int limit,String defaultValue)
119     {
120         String str = readKeyBoard(limit,true);
121         return str.equals("")? defaultValue : str;
122     }
123     /**
124      * 用于確認選擇的輸入,該方法從鍵盤讀取‘Y’或‘N’,并將其作為方法的回傳值
125      * 
126      */
127     public static char readConfirmSelection()
128     {
129         char c;
130         for(;;)
131         {
132             String str = readKeyBoard(1,false).toUpperCase();
133             c = str.charAt(0);
134             if(c == 'Y' || c == 'N')
135             {
136                 break;
137             }
138             else
139             {
140                 System.out.println("選擇錯誤,請重新輸入:");
141             }
142         }
143         return c;
144     }
145     
146     private static String  readKeyBoard(int limit,boolean blankReturn)
147     {
148         String line ="";
149         while(scanner.hasNextLine())
150         {
151             line  = scanner.nextLine();
152             if(line.length() == 0)
153             {
154                 if(blankReturn) return line;
155                 else continue;
156             }
157             if(line.length() <1 || line.length() > limit)
158             {
159                 System.out.print("輸入長度(不大于"+limit+ ")錯誤,請重新輸入:");
160                 continue;
161             }
162             break;
163         }
164         return line;
165     }
166     
167     
168     
169 }

//界面

 

 // 1

 

 

 

 //2

 

 

 

 

//3

 

 

 

 //4

 

 

//5

 

本文來自博客園,作者:Bytezero!,轉載請注明原文鏈接:https://www.cnblogs.com/Bytezero/p/15305295.html

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/300896.html

標籤:其他

上一篇:樹莓派OLED模塊的使用教程大量例程詳解

下一篇:Python爬蟲JS逆向案例教學,看看千元以上的外包都是怎么樣的(附原始碼)

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【C++】Microsoft C++、C 和匯編程式檔案

    ......

    uj5u.com 2020-09-10 00:57:23 more
  • 例外宣告

    相比于斷言適用于排除邏輯上不可能存在的狀態,例外通常是用于邏輯上可能發生的錯誤。 例外宣告 Item 1:當函式不可能拋出例外或不能接受拋出例外時,使用noexcept 理由 如果不打算拋出例外的話,程式就會認為無法處理這種錯誤,并且應當盡早終止,如此可以有效地阻止例外的傳播與擴散。 示例 //不可 ......

    uj5u.com 2020-09-10 00:57:27 more
  • Codeforces 1400E Clear the Multiset(貪心 + 分治)

    鏈接:https://codeforces.com/problemset/problem/1400/E 來源:Codeforces 思路:給你一個陣列,現在你可以進行兩種操作,操作1:將一段沒有 0 的區間進行減一的操作,操作2:將 i 位置上的元素歸零。最終問:將這個陣列的全部元素歸零后操作的最少 ......

    uj5u.com 2020-09-10 00:57:30 more
  • UVA11610 【Reverse Prime】

    本人看到此題沒有翻譯,就附帶了一個自己的翻譯版本 思考 這一題,它的第一個要求是找出所有 $7$ 位反向質數及其質因數的個數。 我們應該需要質數篩篩選1~$10^{7}$的所有數,這里就不慢慢介紹了。但是,重讀題,我們突然發現反向質數都是 $7$ 位,而將它反過來后的數字卻是 $6$ 位數,這就說明 ......

    uj5u.com 2020-09-10 00:57:36 more
  • 統計區間素數數量

    1 #pragma GCC optimize(2) 2 #include <bits/stdc++.h> 3 using namespace std; 4 bool isprime[1000000010]; 5 vector<int> prime; 6 inline int getlist(int ......

    uj5u.com 2020-09-10 00:57:47 more
  • C/C++編程筆記:C++中的 const 變數詳解,教你正確認識const用法

    1、C中的const 1、區域const變數存放在堆疊區中,會分配記憶體(也就是說可以通過地址間接修改變數的值)。測驗代碼如下: 運行結果: 2、全域const變數存放在只讀資料段(不能通過地址修改,會發生寫入錯誤), 默認為外部聯編,可以給其他源檔案使用(需要用extern關鍵字修飾) 運行結果: ......

    uj5u.com 2020-09-10 00:58:04 more
  • 【C++犯錯記錄】VS2019 MFC添加資源不懂如何修改資源宏ID

    1. 首先在資源視圖中,添加資源 2. 點擊新添加的資源,復制自動生成的ID 3. 在解決方案資源管理器中找到Resource.h檔案,編輯,使用整個專案搜索和替換的方式快速替換 宏宣告 4. Ctrl+Shift+F 全域搜索,點擊查找全部,然后逐個替換 5. 為什么使用搜索替換而不使用屬性視窗直 ......

    uj5u.com 2020-09-10 00:59:11 more
  • 【C++犯錯記錄】VS2019 MFC不懂的批量添加資源

    1. 打開資源頭檔案Resource.h,在其中預先定義好宏 ID(不清楚其實ID值應該設定多少,可以先新建一個相同的資源項,再在這個資源的ID值的基礎上遞增即可) 2. 在資源視圖中選中專案資源,按F7編輯資源檔案,按 ID 型別 相對路徑的形式添加 資源。(別忘了先把檔案拷貝到專案中的res檔案 ......

    uj5u.com 2020-09-10 01:00:19 more
  • C/C++編程筆記:關于C++的參考型別,專供新手入門使用

    今天要講的是C++中我最喜歡的一個用法——參考,也叫別名。 參考就是給一個變數名取一個變數名,方便我們間接地使用這個變數。我們可以給一個變數創建N個參考,這N + 1個變數共享了同一塊記憶體區域。(參考型別的變數會占用記憶體空間,占用的記憶體空間的大小和指標型別的大小是相同的。雖然參考是一個物件的別名,但 ......

    uj5u.com 2020-09-10 01:00:22 more
  • 【C/C++編程筆記】從頭開始學習C ++:初學者完整指南

    眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......

    uj5u.com 2020-09-10 01:00:41 more
最新发布
  • Rust中的智能指標:Box<T> Rc<T> Arc<T> Cell<T> RefCell<T> Weak

    Rust中的智能指標是什么 智能指標(smart pointers)是一類資料結構,是擁有資料所有權和額外功能的指標。是指標的進一步發展 指標(pointer)是一個包含記憶體地址的變數的通用概念。這個地址參考,或 ” 指向”(points at)一些其 他資料 。參考以 & 符號為標志并借用了他們所 ......

    uj5u.com 2023-04-20 07:24:10 more
  • Java的值傳遞和參考傳遞

    值傳遞不會改變本身,參考傳遞(如果傳遞的值需要實體化到堆里)如果發生修改了會改變本身。 1.基本資料型別都是值傳遞 package com.example.basic; public class Test { public static void main(String[] args) { int ......

    uj5u.com 2023-04-20 07:24:04 more
  • [2]SpinalHDL教程——Scala簡單入門

    第一個 Scala 程式 shell里面輸入 $ scala scala> 1 + 1 res0: Int = 2 scala> println("Hello World!") Hello World! 檔案形式 object HelloWorld { /* 這是我的第一個 Scala 程式 * 以 ......

    uj5u.com 2023-04-20 07:23:58 more
  • 理解函式指標和回呼函式

    理解 函式指標 指向函式的指標。比如: 理解函式指標的偽代碼 void (*p)(int type, char *data); // 定義一個函式指標p void func(int type, char *data); // 宣告一個函式func p = func; // 將指標p指向函式func ......

    uj5u.com 2023-04-20 07:23:52 more
  • Django筆記二十五之資料庫函式之日期函式

    本文首發于公眾號:Hunter后端 原文鏈接:Django筆記二十五之資料庫函式之日期函式 日期函式主要介紹兩個大類,Extract() 和 Trunc() Extract() 函式作用是提取日期,比如我們可以提取一個日期欄位的年份,月份,日等資料 Trunc() 的作用則是截取,比如 2022-0 ......

    uj5u.com 2023-04-20 07:23:45 more
  • 一天吃透JVM面試八股文

    什么是JVM? JVM,全稱Java Virtual Machine(Java虛擬機),是通過在實際的計算機上仿真模擬各種計算機功能來實作的。由一套位元組碼指令集、一組暫存器、一個堆疊、一個垃圾回收堆和一個存盤方法域等組成。JVM屏蔽了與作業系統平臺相關的資訊,使得Java程式只需要生成在Java虛擬機 ......

    uj5u.com 2023-04-20 07:23:31 more
  • 使用Java接入小程式訂閱訊息!

    更新完微信服務號的模板訊息之后,我又趕緊把微信小程式的訂閱訊息給實作了!之前我一直以為微信小程式也是要企業才能申請,沒想到小程式個人就能申請。 訊息推送平臺🔥推送下發【郵件】【短信】【微信服務號】【微信小程式】【企業微信】【釘釘】等訊息型別。 https://gitee.com/zhongfuch ......

    uj5u.com 2023-04-20 07:22:59 more
  • java -- 緩沖流、轉換流、序列化流

    緩沖流 緩沖流, 也叫高效流, 按照資料型別分類: 位元組緩沖流:BufferedInputStream,BufferedOutputStream 字符緩沖流:BufferedReader,BufferedWriter 緩沖流的基本原理,是在創建流物件時,會創建一個內置的默認大小的緩沖區陣列,通過緩沖 ......

    uj5u.com 2023-04-20 07:22:49 more
  • Java-SpringBoot-Range請求頭設定實作視頻分段傳輸

    老實說,人太懶了,現在基本都不喜歡寫筆記了,但是網上有關Range請求頭的文章都太水了 下面是抄的一段StackOverflow的代碼...自己大修改過的,寫的注釋挺全的,應該直接看得懂,就不解釋了 寫的不好...只是希望能給視頻網站開發的新手一點點幫助吧. 業務場景:視頻分段傳輸、視頻多段傳輸(理 ......

    uj5u.com 2023-04-20 07:22:42 more
  • Windows 10開發教程_編程入門自學教程_菜鳥教程-免費教程分享

    教程簡介 Windows 10開發入門教程 - 從簡單的步驟了解Windows 10開發,從基本到高級概念,包括簡介,UWP,第一個應用程式,商店,XAML控制元件,資料系結,XAML性能,自適應設計,自適應UI,自適應代碼,檔案管理,SQLite資料庫,應用程式到應用程式通信,應用程式本地化,應用程式 ......

    uj5u.com 2023-04-20 07:22:35 more