Java Software Solutions, 9th edition

  • John Lewis, 
  • William Loftus

Your access includes:

  • Search, highlight, notes, and more
  • Easily create flashcards
  • Use the app for access anywhere
  • 14-day refund guarantee

$10.99per month

Minimum 4-month term, pay monthly or pay $43.96 upfront

Learn more, spend less

  • Study simpler and faster

    Use flashcards and other study tools in your eTextbook

  • Listen on the go

    Learn how you like with full eTextbook audio

  • Find it fast

    Quickly navigate your eTextbook with search

  • Stay organized

    Access all your eTextbooks in one place

  • Easily continue access

    Keep learning with auto-renew


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. MyLab Programming consists of programming exercises correlated to the concepts and objectives in this book. Through practice exercises and immediate, personalized feedback, MyLab Programming improves the programming competence of beginning students who often struggle with the basic concepts of programming languages.

Students, if interested in purchasing this title with MyLab Programming, ask your instructor for the correct package ISBN and Course ID. Instructors, contact your Pearson representative for more information.

Published by Pearson (July 14th 2021) - Copyright © 2018

ISBN-13: 9780137505234

Subject: Programming - Introductory

Category: Java


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
  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


Your questions answered

Pearson+ is your 1-stop shop with eTextbooks, study tools and exam prep features designed to help students get better grades in college. eTextbooks come with built-in tools that simplify studying, like flashcards, audiobook and search. Pearson+ also features Channels, which includes practice problems, study guides, Q&A with experts, video lessons that help you understand tricky topics and more—all in one place. Channels can be purchased separately or added on to your eTextbook at the time of purchase as part of the Study & Exam Prep Pack.

A Pearson eTextbook is an easy-to-use digital version of your book for class that includes upgraded study tools to help you learn how you learn best. Use enhanced search to find what you need within your eTextbook, highlight and make notes to mark important info, generate flashcards to test your knowledge, and use audio to listen to the text. Every feature is designed to help you learn more efficiently and get results. Plus, you can learn on the go with the Pearson+ app. Find this and more in your eTextbook, available in Pearson+.

The Study & Exam Prep Pack includes practice problems, study guides, Q&A with experts, Channels video lessons that help you understand tricky topics and more. It can be added on to your eTextbook or your MyLab and Mastering learning platform at the time of purchase.

Your eTextbook subscription gives you access for 4 months. You can make a one‑time payment for the initial 4‑month term or pay monthly. If you opt for monthly payments, we will charge your payment method each month until your 4‑month term ends. You can turn on auto‑renew in My account at any time to continue your subscription before your 4‑month term ends.

When you purchase an eTextbook subscription, it will last 4 months. You can renew your subscription by selecting Extend subscription on the Manage subscription page in My account before your initial term ends.

If you extend your subscription, we'll automatically charge you every month. If you made a one‑time payment for your initial 4‑month term, you'll now pay monthly. To make sure your learning is uninterrupted, please check your card details.

To avoid the next payment charge, select Cancel subscription on the Manage subscription page in My account before the renewal date. You can subscribe again in the future by purchasing another eTextbook subscription.

Channels is a video platform with thousands of explanations, solutions and practice problems to help you do homework and prep for exams. Videos are personalized to your course, and tutors walk you through solutions. Plus, interactive AI‑powered summaries and a social community help you better understand lessons from class.

Channels is an additional tool to help you with your studies. This means you can use Channels even if your course uses a non‑Pearson textbook.

When you choose a Channels subscription, you're signing up for a 1‑month, 3‑month or 12‑month term and you make an upfront payment for your subscription. By default, these subscriptions auto‑renew at the frequency you select during checkout.

When you purchase a Channels subscription it will last 1 month, 3 months or 12 months, depending on the plan you chose. Your subscription will automatically renew at the end of your term unless you cancel it.

We use your credit card to renew your subscription automatically. To make sure your learning is uninterrupted, please check your card details.