Problem Solving with Java - Elliot B. Koffman, Ursula Wolz

Problem Solving with Java

United States Edition
Buch | Softcover
880 Seiten
2002 | 2nd edition
Pearson (Verlag)
978-0-201-72214-7 (ISBN)
82,25 inkl. MwSt
  • Titel ist leider vergriffen;
    keine Neuauflage
  • Artikel merken
This text teaches the sound problem solving skills that beginning programmers must understand alongside the basics of object-oriented programming using Java.
Problem Solving with Java teaches the sound problem solving skills that beginning programmers must understand alongside the basics of object-oriented programming using Java. The book emphasizes the use of objects and classes from the beginning by providing the basics of OOP from the start, but delaying the complications of the AWT, Swing, and more theoretical concepts of OOP until later.

The authors' approach is to design a worker class or support class for each problem. The worker class has data fields for storing the problem inputs and it has methods that implement the algorithm needed to solve the problem. There is a separate application class that instantiates a worker object, passes data to this object, and then displays the results returned by the worker object. In this way, the student is introduced to the importance of object interaction and separation of concerns from the very beginning. The worker class knows how to solve the basic problem (units conversion, computation of area, etc.). The application class knows how to get the data from the user and display it. This approach better prepares students for the use of applets and GUIs. The worker class can be used without modification by an applet that performs the functions of the application class.

1. Introduction to Computers, Problem Solving, and Programming.


Overview of Computers.



Computer Components.



Computer Software.



Processing a High-Level Language Program.



The Software Development Method.



Professional Ethics for Computer Programming.



2. Using Primitive Data Types and Using Classes.


Primitive Data Types.



Processing Numeric Data.



Introduction to Methods.



The String Class.



Input/Output with Class JOptionPane and Method println().



Problem Solving in Action.



Anatomy of a Java Program.



Numerical Computations with Class Math.



Common Errors and Debugging.



3. Object-Oriented Design and Writing Worker Classes.


A First Worker Class: Class FoodItem.



A Worker Class that Manipulates String Objects.



A Worker Class that Processes Integers.



Review of Methods.



Simplifying a Solution Using Multiple Classes.



Formatting Output and Class KeyIn (Optional).



Applets, AWT, and the Graphics Class (Optional).



Common Programming Errors.



4. Control Structures: Decisions and Loops.


Control Structures.



boolean Expressions.



The if Statement.



Decision Steps in Algorithms.



Multiple-Alternative Decisions: Nested if and switch.



Counting Loops, while and for statements.



State-Controlled Loops.



Putting It All Together.



Debugging and Testing Programs with Decisions and Loops.



Common Programming Errors.



5. Arrays and Vectors.


Array Declarations.



Processing Arrays and Array Elements.



Operations on Whole Arrays.



Searching and Sorting an Array.



Arrays of Objects.



Multidimensional Arrays-Arrays of Arrays.



Vectors.



Wrapper Classes for Primitive Type Data.



Arrays and ArrayList Collection Classes (Optional).



Common Programming Errors.



6. Class Hierarchies, Inheritance, and Interfaces.


Class Hierarchies and Inheritance.



Operations in a Class Hierarchy.



Polymorphism.



Interfaces.



Abstract Classes.



Drawing Figures Using an Abstract Class and Interface.



Packages and Visibility (Optional).



Testing a Program System.



Common Programming Errors.



7. Graphical User Interfaces (GUIs).


AWT, Swing, and Browser-Applet Interaction.



Designing a First GUI.



The Java Event Model.



Using a GUI in an Application.



Components for Making Choices.



Designing a GUI for an Existing Class.



Listener Classes as Inner Classes.



Layout Managers.



Common Programming Errors.



8. Exceptions, Streams, and Files.


Exceptions.



Streams and Text Files.



Using Text Files.



A GUI for Processing the DVD Collection.



Binary Files.



Common Programming Errors.



9. Recursion.


Recursive Methods.



Recursive Mathematical Methods.



Use of the Stack in Recursion.



Recursive Methods with Arrays, Vectors, and Strings.



Binary Search.



Solving Towers of Hanoi with Recursion.



A Recursive Program with a GUI.



Common Programming Errors.



10. Linked Data Structures.


Linked Lists.



Stacks.



Queues.



Binary Trees.



A Binary Search Tree Class.



LinkedList Collection Class and List Iterators (Optional).



Common Programming Errors.



Appendix A. Java Resources, Package psJava, Jbuilder, and HTML Resources.


Appendix B. Java Language Summary.


Appendix C. Packages java.lang and java.util.


Appendix D. Package java.io.


Appendix E. Package java.awt.


Appendix F. Package javax.swing.


Answers to Odd Self-Check Exercises.


Index.

Erscheint lt. Verlag 8.1.2002
Sprache englisch
Gewicht 1287 g
Themenwelt Informatik Programmiersprachen / -werkzeuge Java
Mathematik / Informatik Informatik Web / Internet
ISBN-10 0-201-72214-3 / 0201722143
ISBN-13 978-0-201-72214-7 / 9780201722147
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
mit über 150 Workouts in Java und Python

von Luigi Lo Iacono; Stephan Wiefling; Michael Schneider

Buch (2023)
Carl Hanser (Verlag)
29,99
Einführung, Ausbildung, Praxis

von Christian Ullenboom

Buch | Hardcover (2023)
Rheinwerk (Verlag)
49,90