Starting out with Java : from control structures through objects / 1st ed.
副标题:无
作 者:Tony Gaddis.
分类号:
ISBN:9780321421029
微信扫一扫,移动浏览光盘
简介
Starting Out with Java: From Control Structures through Data Structures is designed to be used in a 2 or 3 semester/quarter sequence for beginning programmers. Tony Gaddis emphasizes problem-solving and program design by teaching the Java programming language through a step-by-step detailed presentation. He introduces procedural programming early and covers control structures and methods before objects. Students are engaged and have plenty of opportunity to practice using programming concepts through practical tools that include end-of-section and chapter exercises, case studies and programming projects.
目录
Preface p. xv
Chapter 1 Introduction to Computers and Java p. 1
1.1 Introduction p. 1
1.2 Why Program? p. 1
1.3 Computer Systems: Hardware and Software p. 2
1.4 Programming Languages p. 6
1.5 What Is a Program Made of? p. 9
1.6 The Programming Process p. 16
1.7 Object-Oriented Programming p. 19
Review Questions and Exercises p. 21
Programming Challenge p. 25
Chapter 2 Java Fundamentals p. 27
2.1 The Parts of a Java Program p. 27
2.2 The print and println Methods, and the Java API p. 33
2.3 Variables and Literals p. 39
2.4 Primitive Data Types p. 45
2.5 Arithmetic Operators p. 56
2.6 Combined Assignment Operators p. 62
2.7 Conversion between Primitive Data Types p. 63
2.8 Creating Named Constants with final p. 67
2.9 The String Class p. 69
2.10 Scope p. 74
2.11 Comments p. 76
2.12 Programming Style p. 81
2.13 Reading Keyboard Input p. 83
2.14 Dialog Boxes p. 91
2.15 Common Errors to Avoid p. 98
Review Questions and Exercises p. 99
Programming Challenges p. 104
Chapter 3 Decision Structures p. 107
3.1 The if Statement p. 107
3.2 The if-else Statement p. 117
3.3 The if-else-if Statement p. 120
3.4 Nested if Statements p. 126
3.5 Logical Operators p. 131
3.6 Comparing String Objects p. 139
3.7 More about Variable Declaration and Scope p. 145
3.8 The Conditional Operator (Optional) p. 146
3.9 The switch Statement p. 148
3.10 Creating Objects with the Decimal Format Class p. 155
3.11 The printf Method p. 161
3.12 Common Errors to Avoid p. 164
Review Questions and Exercises p. 165
Programming Challenges p. 171
Chapter 4 Loops and Files p. 175
4.1 The Increment and Decrement Operators p. 175
4.2 The while Loop p. 179
4.3 Using the while Loop for Input Validation p. 184
4.4 The do-while Loop p. 188
4.5 The for Loop p. 191
4.6 Running Totals and Sentinel Values p. 199
4.7 Nested Loops p. 203
4.8 The break and continue Statements (Optional) p. 204
4.9 Deciding Which Loop to Use p. 205
4.10 Introduction to File Input and Output p. 205
4.11 The Random Class p. 221
4.12 Common Errors to Avoid p. 223
Review Questions and Exercises p. 224
Programming Challenges p. 231
Chapter 5 Methods p. 235
5.1 Introduction to Methods p. 235
5.2 Passing Arguments to a Method p. 245
5.3 More about Local Variables p. 257
5.4 Returning a Value from a Method p. 259
5.5 Problem Solving with Methods p. 265
5.6 Common Errors to Avoid p. 270
Review Questions and Exercises p. 271
Programming Challenges p. 275
Chapter 6 A First Look at Classes p. 281
6.1 Classes and Objects p. 281
6.2 Instance Fields and Methods p. 304
6.3 Constructors p. 309
6.4 Overloading Methods and Constructors p. 313
6.5 Scope of Instance Fields p. 322
6.6 Packages and import Statements p. 323
6.7 Focus on Object-Oriented Design: Finding the Classes and Their Responsibilities p. 325
6.8 Common Errors to Avoid p. 332
Review Questions and Exercises p. 332
Programming Challenges p. 338
Chapter 7 A First Look at GUI Applications p. 343
7.1 Introduction p. 343
7.2 Creating Windows p. 346
7.3 Equipping GUI Classes with a main Method p. 374
7.4 Layout Managers p. 375
7.5 Radio Buttons and Check Boxes p. 392
7.6 Borders p. 403
7.7 Focus on Problem Solving: Extending Classes from JPanel p. 406
7.8 Using Console Output to Debug a GUI Application p. 418
7.9 Common Errors to Avoid p. 423
Review Questions and Exercises p. 423
Programming Challenges p. 427
Chapter 8 Arrays and the ArrayList Class p. 431
8.1 Introduction to Arrays p. 431
8.2 Processing Array Elements p. 441
8.3 Passing Arrays As Arguments to Methods p. 450
8.4 Some Useful Array Algorithms and Operations p. 454
8.5 Returning Arrays from Methods p. 463
8.6 String Arrays p. 465
8.7 Arrays of Objects p. 468
8.8 The Sequential Search Algorithm p. 471
8.9 Two-Dimensional Arrays p. 474
8.10 Arrays with Three or More Dimensions p. 486
8.11 Command-Line Arguments and Variable-Length Argument Lists p. 487
8.12 The ArrayList Class p. 491
8.13 Common Errors to Avoid p. 501
Review Questions and Exercises p. 502
Programming Challenges p. 506
Chapter 9 A Second Look at Classes and Objects p. 513
9.1 Static Class Members p. 513
9.2 Passing Objects As Arguments to Methods p. 520
9.3 Returning Objects from Methods p. 523
9.4 The toString Method p. 525
9.5 Writing an equals Method p. 529
9.6 Methods That Copy Objects p. 532
9.7 Aggregation p. 535
9.8 The this Reference Variable p. 548
9.9 Enumerated Types p. 551
9.10 Garbage Collection p. 560
9.11 Focus on Object-Oriented Design: Class Collaboration p. 562
9.12 Common Errors to Avoid p. 566
Review Questions and Exercises p. 567
Programming Challenges p. 571
Chapter 10 Text Processing and More about Wrapper Classes p. 577
10.1 Introduction to Wrapper Classes p. 577
10.2 Character Testing and Conversion with the Character Class p. 578
10.3 More String Methods p. 586
10.4 The StringBuffer Class p. 600
10.5 Tokenizing Strings p. 607
10.6 Wrapper Classes for the Numeric Data Types p. 615
10.7 Focus on Problem Solving: The TestScoreReader Class p. 618
10.8 Common Errors to Avoid p. 623
Review Questions and Exercises p. 623
Programming Challenges p. 627
Chapter 11 Inheritance p. 631
11.1 What Is Inheritance? p. 631
11.2 Calling the Superclass Constructor p. 644
11.3 Overriding Superclass Methods p. 652
11.4 Protected Members p. 661
11.5 Chains of Inheritance p. 667
11.6 The Object Class p. 673
11.7 Polymorphism p. 675
11.8 Abstract Classes and Abstract Methods p. 680
11.9 Interfaces p. 686
11.10 Common Errors to Avoid p. 699
Review Questions and Exercises p. 700
Programming Challenges p. 705
Chapter 12 Exceptions and More about Stream I/O p. 711
12.1 Handling Exceptions p. 711
12.2 Throwing Exceptions p. 733
12.3 More about Input/Output Streams p. 739
12.4 Advanced Topics: Binary Files, Random Access Files, and Object Serialization p. 748
12.5 Common Errors to Avoid p. 765
Review Questions and Exercises p. 766
Programming Challenges p. 773
Chapter 13 Advanced GUI Applications p. 775
13.1 The Swing and AWT Class Hierarchy p. 775
13.2 Read-Only Text Fields p. 776
13.3 Lists p. 778
13.4 Combo Boxes p. 794
13.5 Displaying Images in Labels and Buttons p. 800
13.6 Mnemonics and Tool Tips p. 806
13.7 File Choosers and Color Choosers p. 808
13.8 Menus p. 812
13.9 More about Text Components: Text Areas and Fonts p. 821
13.10 Sliders p. 825
13.11 Look and Feel p. 830
13.12 Common Errors to Avoid p. 832
Review Questions and Exercises p. 833
Programming Challenges p. 838
Chapter 14 Applets and More p. 843
14.1 Introduction to Applets p. 843
14.2 A Brief Introduction to HTML p. 845
14.3 Creating Applets with Swing p. 855
14.4 Using AWT for Portability p. 862
14.5 Drawing Shapes p. 867
14.6 Handling Mouse Events p. 889
14.7 Timer Objects p. 899
14.8 Playing Audio p. 903
14.9 Common Errors to Avoid p. 907
Review Questions and Exercises p. 908
Programming Challenges p. 914
Chapter 15 Recursion p. 917
15.1 Introduction to Recursion p. 917
15.2 Solving Problems with Recursion p. 920
15.3 Examples of Recursive Methods p. 925
15.4 The Towers of Hanoi p. 931
15.5 Common Errors to Avoid p. 935
Review Questions and Exercises p. 936
Programming Challenges p. 939
Chapter 16 Sorting, Searching, and Algorithm Analysis p. 941
16.1 Introduction to Sorting Algorithms p. 941
16.2 Introduction to Search Algorithms p. 966
16.3 Analysis of Algorithms p. 977
16.4 Common Errors to Avoid p. 984
Review Questions and Exercises p. 985
Programming Challenges p. 988
Chapter 17 Generics p. 991
17.1 Introduction to Generics p. 991
17.2 Writing a Generic Class p. 994
17.3 Passing Objects of a Generic Class to a Method p. 1002
17.4 Writing Generic Methods p. 1008
17.5 Constraining a Type Parameter in a Generic Class p. 1009
17.6 Inheritance and Generic Classes p. 1012
17.7 Defining Multiple Type Parameters p. 1016
17.8 Generics and Interfaces p. 1019
17.9 Erasure p. 1023
17.10 Restrictions on the Use of Generic Types p. 1026
17.11 Common Errors to Avoid p. 1028
Review Questions and Exercises p. 1028
Programming Challenges p. 1032
Chapter 18 Collections p. 1035
18.1 Introduction to the Java Collections Framework p. 1035
18.2 Lists p. 1041
18.3 Sets p. 1061
18.4 Maps p. 1078
18.5 The Collections Class p. 1092
18.6 Common Errors to Avoid p. 1096
Review Questions and Exercises p. 1096
Programming Challenges p. 1100
Chapter 19 Array-Based Lists p. 1103
19.1 Introduction to Lists p. 1103
19.2 Creating an Array-Based List to Hold String Objects p. 1104
19.3 Creating a Generic Array-Based List p. 1125
19.4 Writing Iterator Classes and Iterable Lists p. 1140
Review Questions and Exercises p. 1147
Programming Challenges p. 1149
Chapter 20 Linked Lists p. 1151
20.1 Introduction to Linked Lists p. 1151
20.2 Operations on Linked Lists p. 1158
20.3 Doubly-Linked and Circularly-Linked Lists p. 1170
20.4 Recursion on Linked Lists p. 1179
20.5 Common Errors to Avoid p. 1190
Review Questions and Exercises p. 1190
Programming Challenges p. 1194
Chapter 21 Stacks and Queues p. 1197
21.1 Stacks and Their Applications p. 1197
21.2 Array Implementation of Stacks p. 1200
21.3 Linked Implementation of Stacks p. 1206
21.4 Queues and Their Applications p. 1211
21.5 Array Implementation of Queues p. 1211
21.6 Linked List Implementation of Queues p. 1222
21.7 Generic Implementation of Stacks and Queues p. 1227
21.8 Common Errors to Avoid p. 1230
Review Questions and Exercises p. 1231
Programming Challenges p. 1233
Chapter 22 Binary Trees, AVL Trees, and Priority Queues p. 1235
22.1 Binary Trees and Their Applications p. 1235
22.2 Binary Search Trees p. 1245
22.3 AVL Trees p. 1262
22.4 Priority Queues p. 1275
22.5 Common Errors to Avoid p. 1289
Review Questions and Exercises p. 1289
Programming Challenges p. 1293
Index p. 1295
Student CD-ROM
Appendix A The ASCII/Unicode Characters
Appendix B Operator Precedence and Associativity
Appendix C Java Key Words
Appendix D Installing the JDK and JDK Documentation
Appendix E Using the javadoc Utility
Appendix F More about the Math Class
Appendix G Packages
Appendix H Working with Records and Random Access Files
Appendix I Using JBuilder 8
Appendix J More about JOptionPane Dialog Boxes
Appendix K Answers to Checkpoints
Appendix L Answers to Odd-Numbered Review Questions
Case Study 1 Calculating Sales Commission
Case Study 2 The Amortization Class
Case Study 3 The PinTester Class
Case Study 4 Parallel Arrays
Case Study 5 The FeetInches Class
Case Study 6 The SerialNumber Class
Case Study 7 A Simple Text Editor Application
Chapter 1 Introduction to Computers and Java p. 1
1.1 Introduction p. 1
1.2 Why Program? p. 1
1.3 Computer Systems: Hardware and Software p. 2
1.4 Programming Languages p. 6
1.5 What Is a Program Made of? p. 9
1.6 The Programming Process p. 16
1.7 Object-Oriented Programming p. 19
Review Questions and Exercises p. 21
Programming Challenge p. 25
Chapter 2 Java Fundamentals p. 27
2.1 The Parts of a Java Program p. 27
2.2 The print and println Methods, and the Java API p. 33
2.3 Variables and Literals p. 39
2.4 Primitive Data Types p. 45
2.5 Arithmetic Operators p. 56
2.6 Combined Assignment Operators p. 62
2.7 Conversion between Primitive Data Types p. 63
2.8 Creating Named Constants with final p. 67
2.9 The String Class p. 69
2.10 Scope p. 74
2.11 Comments p. 76
2.12 Programming Style p. 81
2.13 Reading Keyboard Input p. 83
2.14 Dialog Boxes p. 91
2.15 Common Errors to Avoid p. 98
Review Questions and Exercises p. 99
Programming Challenges p. 104
Chapter 3 Decision Structures p. 107
3.1 The if Statement p. 107
3.2 The if-else Statement p. 117
3.3 The if-else-if Statement p. 120
3.4 Nested if Statements p. 126
3.5 Logical Operators p. 131
3.6 Comparing String Objects p. 139
3.7 More about Variable Declaration and Scope p. 145
3.8 The Conditional Operator (Optional) p. 146
3.9 The switch Statement p. 148
3.10 Creating Objects with the Decimal Format Class p. 155
3.11 The printf Method p. 161
3.12 Common Errors to Avoid p. 164
Review Questions and Exercises p. 165
Programming Challenges p. 171
Chapter 4 Loops and Files p. 175
4.1 The Increment and Decrement Operators p. 175
4.2 The while Loop p. 179
4.3 Using the while Loop for Input Validation p. 184
4.4 The do-while Loop p. 188
4.5 The for Loop p. 191
4.6 Running Totals and Sentinel Values p. 199
4.7 Nested Loops p. 203
4.8 The break and continue Statements (Optional) p. 204
4.9 Deciding Which Loop to Use p. 205
4.10 Introduction to File Input and Output p. 205
4.11 The Random Class p. 221
4.12 Common Errors to Avoid p. 223
Review Questions and Exercises p. 224
Programming Challenges p. 231
Chapter 5 Methods p. 235
5.1 Introduction to Methods p. 235
5.2 Passing Arguments to a Method p. 245
5.3 More about Local Variables p. 257
5.4 Returning a Value from a Method p. 259
5.5 Problem Solving with Methods p. 265
5.6 Common Errors to Avoid p. 270
Review Questions and Exercises p. 271
Programming Challenges p. 275
Chapter 6 A First Look at Classes p. 281
6.1 Classes and Objects p. 281
6.2 Instance Fields and Methods p. 304
6.3 Constructors p. 309
6.4 Overloading Methods and Constructors p. 313
6.5 Scope of Instance Fields p. 322
6.6 Packages and import Statements p. 323
6.7 Focus on Object-Oriented Design: Finding the Classes and Their Responsibilities p. 325
6.8 Common Errors to Avoid p. 332
Review Questions and Exercises p. 332
Programming Challenges p. 338
Chapter 7 A First Look at GUI Applications p. 343
7.1 Introduction p. 343
7.2 Creating Windows p. 346
7.3 Equipping GUI Classes with a main Method p. 374
7.4 Layout Managers p. 375
7.5 Radio Buttons and Check Boxes p. 392
7.6 Borders p. 403
7.7 Focus on Problem Solving: Extending Classes from JPanel p. 406
7.8 Using Console Output to Debug a GUI Application p. 418
7.9 Common Errors to Avoid p. 423
Review Questions and Exercises p. 423
Programming Challenges p. 427
Chapter 8 Arrays and the ArrayList Class p. 431
8.1 Introduction to Arrays p. 431
8.2 Processing Array Elements p. 441
8.3 Passing Arrays As Arguments to Methods p. 450
8.4 Some Useful Array Algorithms and Operations p. 454
8.5 Returning Arrays from Methods p. 463
8.6 String Arrays p. 465
8.7 Arrays of Objects p. 468
8.8 The Sequential Search Algorithm p. 471
8.9 Two-Dimensional Arrays p. 474
8.10 Arrays with Three or More Dimensions p. 486
8.11 Command-Line Arguments and Variable-Length Argument Lists p. 487
8.12 The ArrayList Class p. 491
8.13 Common Errors to Avoid p. 501
Review Questions and Exercises p. 502
Programming Challenges p. 506
Chapter 9 A Second Look at Classes and Objects p. 513
9.1 Static Class Members p. 513
9.2 Passing Objects As Arguments to Methods p. 520
9.3 Returning Objects from Methods p. 523
9.4 The toString Method p. 525
9.5 Writing an equals Method p. 529
9.6 Methods That Copy Objects p. 532
9.7 Aggregation p. 535
9.8 The this Reference Variable p. 548
9.9 Enumerated Types p. 551
9.10 Garbage Collection p. 560
9.11 Focus on Object-Oriented Design: Class Collaboration p. 562
9.12 Common Errors to Avoid p. 566
Review Questions and Exercises p. 567
Programming Challenges p. 571
Chapter 10 Text Processing and More about Wrapper Classes p. 577
10.1 Introduction to Wrapper Classes p. 577
10.2 Character Testing and Conversion with the Character Class p. 578
10.3 More String Methods p. 586
10.4 The StringBuffer Class p. 600
10.5 Tokenizing Strings p. 607
10.6 Wrapper Classes for the Numeric Data Types p. 615
10.7 Focus on Problem Solving: The TestScoreReader Class p. 618
10.8 Common Errors to Avoid p. 623
Review Questions and Exercises p. 623
Programming Challenges p. 627
Chapter 11 Inheritance p. 631
11.1 What Is Inheritance? p. 631
11.2 Calling the Superclass Constructor p. 644
11.3 Overriding Superclass Methods p. 652
11.4 Protected Members p. 661
11.5 Chains of Inheritance p. 667
11.6 The Object Class p. 673
11.7 Polymorphism p. 675
11.8 Abstract Classes and Abstract Methods p. 680
11.9 Interfaces p. 686
11.10 Common Errors to Avoid p. 699
Review Questions and Exercises p. 700
Programming Challenges p. 705
Chapter 12 Exceptions and More about Stream I/O p. 711
12.1 Handling Exceptions p. 711
12.2 Throwing Exceptions p. 733
12.3 More about Input/Output Streams p. 739
12.4 Advanced Topics: Binary Files, Random Access Files, and Object Serialization p. 748
12.5 Common Errors to Avoid p. 765
Review Questions and Exercises p. 766
Programming Challenges p. 773
Chapter 13 Advanced GUI Applications p. 775
13.1 The Swing and AWT Class Hierarchy p. 775
13.2 Read-Only Text Fields p. 776
13.3 Lists p. 778
13.4 Combo Boxes p. 794
13.5 Displaying Images in Labels and Buttons p. 800
13.6 Mnemonics and Tool Tips p. 806
13.7 File Choosers and Color Choosers p. 808
13.8 Menus p. 812
13.9 More about Text Components: Text Areas and Fonts p. 821
13.10 Sliders p. 825
13.11 Look and Feel p. 830
13.12 Common Errors to Avoid p. 832
Review Questions and Exercises p. 833
Programming Challenges p. 838
Chapter 14 Applets and More p. 843
14.1 Introduction to Applets p. 843
14.2 A Brief Introduction to HTML p. 845
14.3 Creating Applets with Swing p. 855
14.4 Using AWT for Portability p. 862
14.5 Drawing Shapes p. 867
14.6 Handling Mouse Events p. 889
14.7 Timer Objects p. 899
14.8 Playing Audio p. 903
14.9 Common Errors to Avoid p. 907
Review Questions and Exercises p. 908
Programming Challenges p. 914
Chapter 15 Recursion p. 917
15.1 Introduction to Recursion p. 917
15.2 Solving Problems with Recursion p. 920
15.3 Examples of Recursive Methods p. 925
15.4 The Towers of Hanoi p. 931
15.5 Common Errors to Avoid p. 935
Review Questions and Exercises p. 936
Programming Challenges p. 939
Chapter 16 Sorting, Searching, and Algorithm Analysis p. 941
16.1 Introduction to Sorting Algorithms p. 941
16.2 Introduction to Search Algorithms p. 966
16.3 Analysis of Algorithms p. 977
16.4 Common Errors to Avoid p. 984
Review Questions and Exercises p. 985
Programming Challenges p. 988
Chapter 17 Generics p. 991
17.1 Introduction to Generics p. 991
17.2 Writing a Generic Class p. 994
17.3 Passing Objects of a Generic Class to a Method p. 1002
17.4 Writing Generic Methods p. 1008
17.5 Constraining a Type Parameter in a Generic Class p. 1009
17.6 Inheritance and Generic Classes p. 1012
17.7 Defining Multiple Type Parameters p. 1016
17.8 Generics and Interfaces p. 1019
17.9 Erasure p. 1023
17.10 Restrictions on the Use of Generic Types p. 1026
17.11 Common Errors to Avoid p. 1028
Review Questions and Exercises p. 1028
Programming Challenges p. 1032
Chapter 18 Collections p. 1035
18.1 Introduction to the Java Collections Framework p. 1035
18.2 Lists p. 1041
18.3 Sets p. 1061
18.4 Maps p. 1078
18.5 The Collections Class p. 1092
18.6 Common Errors to Avoid p. 1096
Review Questions and Exercises p. 1096
Programming Challenges p. 1100
Chapter 19 Array-Based Lists p. 1103
19.1 Introduction to Lists p. 1103
19.2 Creating an Array-Based List to Hold String Objects p. 1104
19.3 Creating a Generic Array-Based List p. 1125
19.4 Writing Iterator Classes and Iterable Lists p. 1140
Review Questions and Exercises p. 1147
Programming Challenges p. 1149
Chapter 20 Linked Lists p. 1151
20.1 Introduction to Linked Lists p. 1151
20.2 Operations on Linked Lists p. 1158
20.3 Doubly-Linked and Circularly-Linked Lists p. 1170
20.4 Recursion on Linked Lists p. 1179
20.5 Common Errors to Avoid p. 1190
Review Questions and Exercises p. 1190
Programming Challenges p. 1194
Chapter 21 Stacks and Queues p. 1197
21.1 Stacks and Their Applications p. 1197
21.2 Array Implementation of Stacks p. 1200
21.3 Linked Implementation of Stacks p. 1206
21.4 Queues and Their Applications p. 1211
21.5 Array Implementation of Queues p. 1211
21.6 Linked List Implementation of Queues p. 1222
21.7 Generic Implementation of Stacks and Queues p. 1227
21.8 Common Errors to Avoid p. 1230
Review Questions and Exercises p. 1231
Programming Challenges p. 1233
Chapter 22 Binary Trees, AVL Trees, and Priority Queues p. 1235
22.1 Binary Trees and Their Applications p. 1235
22.2 Binary Search Trees p. 1245
22.3 AVL Trees p. 1262
22.4 Priority Queues p. 1275
22.5 Common Errors to Avoid p. 1289
Review Questions and Exercises p. 1289
Programming Challenges p. 1293
Index p. 1295
Student CD-ROM
Appendix A The ASCII/Unicode Characters
Appendix B Operator Precedence and Associativity
Appendix C Java Key Words
Appendix D Installing the JDK and JDK Documentation
Appendix E Using the javadoc Utility
Appendix F More about the Math Class
Appendix G Packages
Appendix H Working with Records and Random Access Files
Appendix I Using JBuilder 8
Appendix J More about JOptionPane Dialog Boxes
Appendix K Answers to Checkpoints
Appendix L Answers to Odd-Numbered Review Questions
Case Study 1 Calculating Sales Commission
Case Study 2 The Amortization Class
Case Study 3 The PinTester Class
Case Study 4 Parallel Arrays
Case Study 5 The FeetInches Class
Case Study 6 The SerialNumber Class
Case Study 7 A Simple Text Editor Application
Starting out with Java : from control structures through objects / 1st ed.
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
亲爱的云图用户,
光盘内的文件都可以直接点击浏览哦
无需下载,在线查阅资料!