Java Software Solutions

by ;
  • ISBN13:


  • ISBN10:


  • Edition: 9th
  • Format: Paperback
  • Copyright: 2017-02-10
  • Publisher: Pearson

Note: Supplemental materials are not guaranteed with Rental or Used book purchases.

Purchase Benefits

  • Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • Get Rewarded for Ordering Your Textbooks! Enroll Now
  • We Buy This Book Back!
    In-Store Credit: $60.48
    Check/Direct Deposit: $57.60
List Price: $158.00 Save up to $102.70
  • Rent Book $55.30
    Add to Cart Free Shipping


Supplemental Materials

What is included with this book?

  • The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
  • The Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.


For courses in Java programming


Empowers students to write useful, object-oriented programs

Java Software Solutions  establishes a strong foundation of programming techniques to foster well-designed object-oriented software. Heralded for its integration of small and large real-world examples, the worldwide best-selling text emphasizes problem-solving and design skills and introduces students to the process of constructing high-quality software systems. The 9th Edition features a sweeping overhaul of Graphics Track coverage, to fully embrace the JavaFX API. This fresh approach enriches programmers’ understandings of core object-oriented principles. The text uses a natural progression of concepts, focusing on the use of objects before teaching how to write them–equipping students with the knowledge and skill they need to design true object-oriented solutions.


Also available with MyLab ™   Programming.

MyLab Programming is an online learning system designed to engage students and improve results. MyProgrammingLab consists of programming exercises correlated to the concepts and objectives in this book. Through practice exercises and immediate, personalized feedback, MyProgrammingLab improves the programming competence of beginning students who often struggle with the basic concepts of programming languages.

NOTE: You are purchasing a standalone product; MyLab Programming does not come packaged with this content. If you would like to purchase both the physical text and MyLab Programming, search for:


0133796280 / 9780133796285 Java Software Solutions plus MyProgrammingLab with Pearson eText -- Access Card Package


Package consists of:

  • 0133594955 / 9780133594959 Java Software Solutions
  • 0133781283 / 9780133781281 MyProgrammingLab with Pearson eText -- Access Code Card -- for Java Software Solutions: Foundations of Program Design

MyLab Programming should only be purchased when required by an instructor.

Author Biography

John Lewis is the co-author of the previous editions of the Java Software Solutions textbook, Java Software StructuresJava Foundations, and the Java Software Solutions textbook used for AP computer science classes.

Table of Contents

1. Introduction

1.1 Computer Processing

1.2 Hardware Components

1.3 Networks

1.4 The Java Programming Language

1.5 Programming Development

1.6 Object-Oriented Programming


2. Data and Expressions

2.1 Character Strings

2.2 Variables and Assignment

2.3 Primitive Data Types

2.4 Expressions

2.5 Data Conversion

Software Failure: NASA Mars Climate Orbiter and Polar Lander


3. Using Classes and Objects

3.1 Creating Objects

3.2 The String Class

3.3 Packages

3.4 The Random Class

3.5 The Math Class

3.6 Formatting Output

3.7 Enumerated Types

3.8 Wrapper Classes

3.9 Introduction to JavaFX

3.10 Basic Shapes

3.11 Representing Colors


4. Writing Classes

4.1 Classes and Objects Revisited

4.2 Anatomy of a Class

4.3 Encapsulation

4.4 Anatomy of a Method

4.5 Constructors Revisited

4.6 Arcs

4.7 Images

4.8 Graphical User Interfaces

4.9 Text Fields

Software Failure: Denver Airport Baggage Handling System


5. Conditionals and Loops

5.1 Boolean Expressions

5.2 The If Statement

5.3 Comparing Data

5.4 The While Statement

5.5 Iterators

5.6 The ArrayList Class

5.7 Determining Event Sources

5.8 Managing Fonts

5.9 Checkboxes

5.10 Radio Buttons

Software Failure: Therac-25


6. More Conditionals and Loops

6.1 The Switch Statement

6.2 The Conditional Operator

6.3 The Do Statement

6.4 The For Statement

6.5 Using Loops and Conditionals with Graphics

6.6 Graphic Transformations


7. Object-Oriented Design

7.1 Software Development Activities

7.2 Identifying Classes and Objects

7.3. Static Class Members

7.4 Class Relationships

7.5 Interfaces

7.6 Enumerated Types Revisited

7.7 Method Design

7.8 Method Overloading

7.9 Testing

7.10 GUI Design

7.11 Key Events

Software Failure: 2003 Northeast Blackout


8. Arrays

8.1 Array Elements

8.2 Declaring and Using Arrays

8.3 Arrays of Objects

8.4 Command-Line Arguments

8.5 Variable Length Parameter Lists

8.6 Two-Dimensional Arrays

8.7 Polygons and Polylines

8.8 An Array of Color Objects

8.9 Choice Boxes

Software Failure: LA Air Traffic Control


9. Inheritance

9.1 Creating Subclasses

9.2 Overriding Methods

9.3 Class Hierarchies

9.4 Visibility

9.5 Designing for Inheritance

9.6 Inheritance in JavaFX

9.7 Color and Date Pickers

9.8 Dialog Boxes

Software Failure: Ariane 5 Flight 501


10. Polymorphism

10.1 Late Binding

10.2 Polymorphism via Inheritance

10.3 Polymorphism vis Interfaces

10.4 Sorting

10.5 Searching

10.6 Designing for Polymorphism

10.7 Properties

10.8 Sliders

10.9 Spinners


11. Exceptions

11.1 Exception Handling

11.2 Uncaught Exceptions

11.3 The Try-Catch Statement

11.4 Exception Propagation

11.5 The Exception Class Hierarchy

11.6 I/O Exceptions

11.7 Tool Tips and Disabling Controls

11.8 Scroll Panes

11.9 Split Panes and List Views


12. Recursion

12.1 Recursive Thinking

12.2 Recursive Programming

12.3 Using Recursion

12.4 Tiled Images

12.5 Fractals


13. Collections

13.1 Collections and Data Structures

13.2 Dynamic Representations

13.3 Linear Collections

13.4 Non-Linear Data Structures

13.5 The Java Collections API


Appendix A: Glossary

Appendix B: Number Systems

Appendix C: The Unicode Character Set

Appendix D: Java Operators

Appendix E: Java Modifiers

Appendix F: Java Coding Guidelines

Appendix G: JavaFX Layout Panes

Appendix H: JavaFX Scene Builder

Appendix I: Regular Expressions

Appendix J: Javadoc Documentation Generator

Appendix K: Java Syntax

Appendix L: Answers to Self-Review Questions


Rewards Program

Write a Review