"Problem Solving with Java"(TM), "Second Edition" provides an accessible introduction to programming that carefully balances the problem-solving skills all beginning programmers need to develop with the essential constructs of the Java programming language. This edition includes coverage of:
- Problem-Solving: Strong problem-solving skills are emphasized through 20 Case Studies, 10 of which are new to this edition. Each emphasizes the classic Koffman 5-step approach: problem specification, analysis, design, implementation, and testing.
- Object-Oriented Design: Principles of object-oriented design are used throughout, building up to an in-depth discussion of object-oriented design midway through the book. Inheritance, interfaces, and abstract classes are introduced by examining several case studies that use these features.
- Applications and Applets: Coverage of both applications and applets is provided throughout, including several examples of each.
- Graphical User Interface: The material describes how to build GUIs using swing components. It also shows how to use class Jframe to write applications that have GUIs.
- Input and Output: Most programs in the hook use standard Java I/O methods. An optional package using class methods for input, based on class, JoptionPane, to simplify data entry with dialog windows can also be used.
- Streams and Files: A new chapter covers streams and files, including coverage of streams of characters and streams of binary files, as well as demonstrations of how to read and write files of objects.