Library Home

Java, Java, Java: Object-Oriented Problem Solving

(4 reviews)

java problem solving book pdf

Ralph Morelli, Trinity College

Ralph Walde, Trinity College

Copyright Year: 2016

Publisher: Ralph Morelli, Ralph Walde

Language: English

Formats Available

Conditions of use.

Attribution

Learn more about reviews.

java problem solving book pdf

Reviewed by Onyeka Emebo, Assistant Professor, Virginia Tech on 12/28/21

The text adequately addresses areas under Object Oriented Programming using Java as a Programming Language for Introduction to Computer Science courses. It gently introduces basic concepts in computer, objects and java using problem solving... read more

Comprehensiveness rating: 5 see less

The text adequately addresses areas under Object Oriented Programming using Java as a Programming Language for Introduction to Computer Science courses. It gently introduces basic concepts in computer, objects and java using problem solving approaches and gradually builds up to more advanced Java technologies in such a simplified manner that can be easily understood. The text also provides a table of content at the beginning and a summary of points for each chapter with exercises.

Content Accuracy rating: 4

The text content is accurate, without errors and unbiased. There is however some links that needs to be updated.

Relevance/Longevity rating: 4

While the field of computer science with particular emphasis to programming as it relates to this text is constantly evolving, the approach taken by this text to teach the essentials is likely to persist. The code, tested in Java 8, should continue to work with new Java releases. Updates to the text can be done easily by the way it has been written.

Clarity rating: 5

The text is written in a clear and easy to understand manner. The objectives, explanations, examples and exercises are clear and easy to follow. The codes are well commented to aid readability.

Consistency rating: 4

The text is highly consistent in both structure and terminology. It starts each chapter with objectives and outline and concludes with summary, exercises and solutions. However, some codes within the chapters are put in figures while others are not, this could be confusing.

Modularity rating: 5

The text is divided in 17 chapters (0 - 16) and 8 appendices (A – H). Each chapter is further divided into sections and subsections. This breakdown makes it easier for instructors to apportion sections to students at different times within the course.

Organization/Structure/Flow rating: 5

The text is organized in a manner that is logical and it flows well from section to section. The structure makes navigation from chapter to chapter easier.

Interface rating: 3

I reviewed the PDF version and it looks good to a large extent. The links in the table of contents are working properly. There are clickable links within the text to different figures, sections, such as appendices, and external websites. However, there are some issues with some figure titles, e.g., figure 12, 1.10, 2.7, 2.10, 2.14, etc. are cut off. Some hyperlinks for some figures missing e.g., figure 2.8 and some figures don’t have titles.

Grammatical Errors rating: 5

The text contains no grammatical errors.

Cultural Relevance rating: 5

The text is culturally neutral. The examples are unbiased in the way it has been presented.

Reviewed by Ghaith Husari, Assistant Professor, East Tennessee State University on 4/17/20

This book covers Object-Oriented Programming under JAVA. It introduces the concepts of object-oriented programming and they are used for problem-solving. This book covers all the relevant areas of Object-Oriented Programming under Java. Also, it... read more

This book covers Object-Oriented Programming under JAVA. It introduces the concepts of object-oriented programming and they are used for problem-solving. This book covers all the relevant areas of Object-Oriented Programming under Java. Also, it covers more advanced topics such as socket programming and algorithms.

Content Accuracy rating: 5

The Object-Oriented concepts and implementation example shown in code samples are accurate and easy to learn as the code samples are aligned with the concept being discussed. Some links and URLs are out-dated but they have little to no impact on student learning. However, I would add a note that says "some of the links and URLs might not up-to-date. However, they can be found using search engines if necessary"

Programming languages get updated regularly to include new and easier functions to use. While it is impossible for a textbook to include every function, this textbook provides a great learning opportunity that allows students to build the muscle to be able to learn more about Java online. When it comes to Object-Oriented concepts, the book is extremely relevant and up-to-date

The textbook is very easy to understand and the code sample is both clear (code readability) and relevant.

Consistency rating: 5

The text and the terms it contains are consistent. Also, the textbook follows a consistent theme.

The textbook chapters are divided into sections and subsections that are shown also in the table of contents which can be used to visit each section.

The textbook consists of seventeen chapters that are organized in a logical manner. The more general concepts such as problem-solving and programing are placed at the beginning, then the chapters introduce the discuss Object-Oriented Programming come after the general chapters. The more advanced topics such as socket programming and data structures and algorithms come towards the end. This made a lot of sense to me.

Interface rating: 5

The textbook is easily accessible online and it can be downloaded to open with Edge or Adobe Reader without any problems.

No grammar issues have been noticed.

This textbook is neutral and unbiased.

Reviewed by Guanyu Tian, Assistant Professor, Fontbonne University on 6/19/18

This textbook covers Object-Oriented Programming with Java programming language pretty well. It starts with the concept of Objects and problem solving skills and then dive into Java programming language syntax. Overall, it appropriately covers all... read more

Comprehensiveness rating: 4 see less

This textbook covers Object-Oriented Programming with Java programming language pretty well. It starts with the concept of Objects and problem solving skills and then dive into Java programming language syntax. Overall, it appropriately covers all areas of the subject including the main principles of Object-Oriented Programming and Java programming language. In the later chapters, this textbook also introduces advanced topics such as concurrent programming, network/socket programming and data structures. The textbook provides table of contents at the beginning and index of terms at the end. Each chapter also provides a list of key words and a list of important concepts and technique terms.

Content Accuracy rating: 3

The content of the textbook is mostly accurate. Many URLs linked to Java documentations and APIs are not up-to-date.

Many URLs to Java references are not up-to-date and many online samples are not accessible. Nonetheless, the concepts of Object-Oriented Programming and Java programming language syntax are mostly current. Any updates to the contents of the textbook can be implemented with minimal effort.

The text is easy to understand. However, some of the texts are not displayed on adobe reader.

Consistency rating: 3

The text is consistent in terms of framework. Each chapter starts with introduction to a problem, and then discussion and design of the solution with UML diagrams; then Java is used to implement the solution(s). However, there is some level of inconsistency in terms of Java code samples. For example, some Java code examples use appropriate indentations and new lines, but some examples do not. This may confuse students.

Each chapter is divided into different sections and subsections. A student can go to each section of a chapter by clicking it in the Table of Contents.

Organization/Structure/Flow rating: 3

The topics in this text book are organized in a reasonable order. It starts with general concepts of computer and program design, then Objects and Java Programming Language, and then advanced topics in computer programming. It would be better if the textbook starts with Java programming language and then principles of Object Oriented programming.

Some of the texts are not displayed in the reviewer's adobe reader. Many diagrams and figures are poorly drawn. Overall, the interface of the book is one area that needs improvement.

No major grammar issues has been noticed.

The text of this textbook is a neutral and unbiased.

Overall, this textbook covers materials of Object-Oriented Programming with Java taught in first or second-year computer science course. However, the contents of Java programming language has not been up-to-date and the interface of the book is very poor compare to similar books the reviewer has used for learning and teaching the same materials. Some sample codes are not well written or inconsistent in terms of the use of indentation and new lines. Many URLs are obsolete and the web pages are not accessible.

Reviewed by Homer Sharafi, Adjunct Faculty Member, Northern Virginia Community College on 6/20/17

The textbook includes the material that is typically covered in a college-level CS1 course. Using an “early objects” approach and Java as the programming language, the authors go over problem-solving techniques based on object-oriented... read more

The textbook includes the material that is typically covered in a college-level CS1 course. Using an “early objects” approach and Java as the programming language, the authors go over problem-solving techniques based on object-oriented programming principles. In addition to an Index of terms towards the end of the text, each chapter summary includes the technical terms used, along with a bulleted-list of important points discussed in that chapter.

The computer science concepts and the accompanying sample code are accurate and error-free; however, the only issue is the fact that the URLs that make references to various aspects of Java, such as API documentation, JDK, and the Java Language Specification, have not been updated to reflect the fact that Sun Microsystems was acquired by Oracle back in 2010.

Like other software systems, Java is updated on a regular basis; nonetheless, the computer science concepts discussed in the textbook are based on standard undergraduate curriculum taught in a CS1 course. Therefore, any updates to the textbook would need to be with regard to the version of Java with minimal effort.

Clarity rating: 4

The authors deliver clear explanations of the computer science concepts and the accompanying Java language features.

There is a consistent theme throughout much of the text: A topic is introduced and discussed within the context of a problem. Its solution is then designed and explained using UML diagrams; finally, Java is used to illustrate how the solution is implemented on the computer.

Each chapter is divided into sections that can easily be identified within the table of contents. Therefore, it’s fairly easy for a student to pick and choose a section in a chapter and work on the other sections later. Throughout each chapter, there are self-study exercises to incrementally test understanding of the covered material. Solutions to those self-study exercises are then provided towards the end of the chapter. In addition, each chapter includes end-of-chapter exercises that can be used to assess one’s understanding of the computer science concepts as well as the various features of Java.

The book consists of seventeen chapters; however, a typical CS1 course would need the material in the first ten chapters only, and those chapters are set up in a logical manner, allowing one to go through the material sequentially. Depending on how fast he first ten chapters are covered during the course of a semester, an instructor may choose from the last seven chapters in the text to introduce more advanced topics in computer science and/or Java.

Interface rating: 1

The textbook can be accessed online or opened using Acrobat Reader with no problem. There are no issues, as long as navigation is done one page after another manually. However, when browsing through the table of contents (TOC) or the Index, the entries are not set up using any live links. That is, you cannot click on a page number associated with an item within the TOC or the Index to go directly to that page.

Grammatical Errors rating: 3

This reviewer did not come across any such issues, while going through the text.

This is a computing textbook, where the contents are presented using technical terms. Culturally, the textbook is completely neutral and unbiased in terms of how the material is presented.

Table of Contents

  • 0 Computers, Objects, and Java
  • 1 Java Program Design and Development
  • 2 Objects: Defining, Creating, and Using
  • 3 Methods: Communicating with Objects
  • 4 Input/Output: Designing the User Interface
  • 5 Java Data and Operators
  • 6 Control Structures
  • 7 Strings and String Processing
  • 8 Inheritance and Polymorphism
  • 9 Arrays and Array Processing
  • 10 Exceptions: When Things Go Wrong
  • 11 Files and Streams
  • 12 Recursive Problem Solving
  • 13 Graphical User Interfaces
  • 14 Threads and Concurrent Programming
  • 15 Sockets and Networking
  • 16 Data Structures: Lists, Stacks, and Queues

Ancillary Material

  • Ralph Morelli, Ralph Walde

About the Book

We have designed this third edition of Java, Java, Java to be suitable for a typical Introduction to Computer Science (CS1) course or for a slightly more advanced Java as a Second Language course. This edition retains the “objects first” approach to programming and problem solving that was characteristic of the first two editions. Throughout the text we emphasize careful coverage of Java language features, introductory programming concepts, and object-oriented design principles.

The third edition retains many of the features of the first two editions, including:

  • Early Introduction of Objects
  • Emphasis on Object Oriented Design (OOD)
  • Unified Modeling Language (UML) Diagrams
  • Self-study Exercises with Answers
  • Programming, Debugging, and Design Tips.
  • From the Java Library Sections
  • Object-Oriented Design Sections
  • End-of-Chapter Exercises
  • Companion Web Site, with Power Points and other Resources

The In the Laboratory sections from the first two editions have been moved onto the book's Companion Web Site. Table 1 shows the Table of Contents for the third edition.

About the Contributors

Ralph Morelli, Professor of Computer Science Emeritus. Morelli has been teaching at Trinity College since 1985, the same year the computer science major was first offered. More recently, he was one of the Principal Investigators (PIs) for the Humanitarian Free and Open Source Software (HFOSS) project, an NSF-funded effort to get undergraduates engaged in building free and open source software that benefits the public.  In summer 2011 a team of Trinity HFOSS students and faculty traveled to Haiti to build an open source mobile application that helps manage beneficiaries for a humanitarian aid organization. Currently Morelli is the PI of the Mobile CSP project, an NSF-funded effort to train high school teachers in CT and elsewhere to teach the emerging Advanced Placement CS Principles course that is being created by the College Board. The main goal of this NSF initiative is to increase access to computer science among underrepresented groups, including girls, African Americans, and Hispanic Americans.  The Mobile CSP course teaches students to create mobile apps to serve their community.  In summer 2014, a group of 20 Mobile CSP students spent their summer building mobile apps for the city of Hartford. 

Ralph Walde.  Dr. Walde has given Trinity 28 years of distinguished service, first as a Professor of Mathematics and now as a Professor of Computer Science. He was instrumental in helping to establish and nourish computing at Trinity and was one of the founding members of the Computer Science Department.

Contribute to this Page

Book cover

  • © 2022

Java Challenges

100+ Proven Tasks that Will Prepare You for Anything

  • Michael Inden 0

Zurich, Switzerland

You can also search for this author in PubMed   Google Scholar

More than 100 tasks and solutions for your Java programming

Problem solving insights from a practitioner with 20+ years of experience

Source code available at https://github.com/Apress/java-challenges

31k Accesses

1 Altmetric

  • Table of contents

About this book

Authors and affiliations, about the author, bibliographic information.

  • Publish with us

Buying options

  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Other ways to access

This is a preview of subscription content, log in via an institution to check for access.

Table of contents (14 chapters)

Front matter, introduction.

Michael Inden

Fundamentals

Mathematical problems, date processing, basic data structures: lists, sets, and maps, more advanced and tricky topics, recursion advanced, binary trees, searching and sorting, conclusion and supplementary literature, quick start for jshell, short introduction to junit 5, quick start for o-notation, back matter.

Expand your knowledge of Java with this entertaining learning guide, which features 100+ exercises and programming challenges. Java Challenges will prepare you for your next exam or job interview, and covers many practical topics, such as strings, arrays, data structures, recursion, and date and time. The APIs and other material included in this book are Java 17 compatible.

Each topic is addressed in its own separate chapter, starting with an introduction to the basics and followed by multiple exercises of varying degrees of difficulty, helping you to improve your programming skills effectively. Detailed sample solutions, including the algorithms used for all tasks, are included to maximize your understanding of each area. 

Author Michael Inden also describes alternative solutions and analyzes possible pitfalls and typical errors. Three appendices round out the book: one covering JShell, which is often helpful for trying out the code snippets and examples in the book, followed by an introduction to JUnit 5 for unit testing and verifying solutions, while the final appendix explains O-notation for estimating performance.

After reading this book, you'll be prepared to take the next step in your career or tackle your next personal project. All source code is freely available for download via the Apress website.

What You Will Learn

  • Improve your Java knowledge by solving enjoyable but challenging programming puzzles
  • Solve mathematical problems, recursions, strings, arrays and more
  • Manage data processing and data structures like lists, sets, maps
  • Handle advanced recursion as well as binary trees, sorting and searching
  • Gamify key fundamentals for fun and easier reinforcement

Who This Book Is For

Professional software developers, makers, as well as computer science teachers and students. At least some prior experience with Java programming is recommended. 

  • Standard Edition
  • programming
  • source code
  • professional

Book Title : Java Challenges

Book Subtitle : 100+ Proven Tasks that Will Prepare You for Anything

Authors : Michael Inden

DOI : https://doi.org/10.1007/978-1-4842-7395-1

Publisher : Apress Berkeley, CA

eBook Packages : Professional and Applied Computing , Professional and Applied Computing (R0) , Apress Access Books

Copyright Information : Michael Inden 2022

Softcover ISBN : 978-1-4842-7394-4 Published: 04 December 2021

eBook ISBN : 978-1-4842-7395-1 Published: 03 December 2021

Edition Number : 1

Number of Pages : XXX, 768

Number of Illustrations : 67 b/w illustrations

Topics : Java , Professional Computing , Computer Science, general , Study and Learning Skills

Policies and ethics

  • Find a journal
  • Track your research
  • Professional
  • International

Select a product below:

  • Connect Math Hosted by ALEKS
  • My Bookshelf (eBook Access)

Sign in to Shop:

Log In to My PreK-12 Platform

  • AP/Honors & Electives
  • my.mheducation.com
  • Open Learning Platform

Log In to My Higher Ed Platform

  • Connect Math Hosted by Aleks

Business and Economics

Accounting Business Communication Business Law Business Mathematics Business Statistics & Analytics Computer & Information Technology Decision Sciences & Operations Management Economics Finance Keyboarding Introduction to Business Insurance and Real Estate Management Information Systems Management Marketing Student Success

Humanities, Social Science and Language

American Government Anthropology Art Career Development Communication Criminal Justice Developmental English Education Film Composition Health and Human Performance

History Humanities Music Philosophy and Religion Political Science Psychology Sociology Student Success Theater World Languages

Science, Engineering and Math

Agriculture and Forestry Anatomy & Physiology Astronomy and Physical Science Biology - Majors Biology - Non-Majors Chemistry Cell/Molecular Biology and Genetics Earth & Environmental Science Ecology Engineering/Computer Science Engineering Technologies - Trade & Tech Health Professions Mathematics Microbiology Nutrition Physics Plants and Animals

Digital Products

Connect® Course management ,  reporting , and  student learning  tools backed by  great support .

McGraw Hill GO Greenlight learning with the new eBook+

ALEKS® Personalize learning and assessment

ALEKS® Placement, Preparation, and Learning Achieve accurate math placement

SIMnet Ignite mastery of MS Office and IT skills

McGraw Hill eBook & ReadAnywhere App Get learning that fits anytime, anywhere

Sharpen: Study App A reliable study app for students

Virtual Labs Flexible, realistic science simulations

Inclusive Access Reduce costs and increase success

LMS Integration Log in and sync up

Math Placement Achieve accurate math placement

Content Collections powered by Create® Curate and deliver your ideal content

Custom Courseware Solutions Teach your course your way

Professional Services Collaborate to optimize outcomes

Lecture Capture Capture lectures for anytime access

Remote Proctoring Validate online exams even offsite

Institutional Solutions Increase engagement, lower costs, and improve access for your students

General Help & Support Info Customer Service & Tech Support contact information

Online Technical Support Center FAQs, articles, chat, email or phone support

Support At Every Step Instructor tools, training and resources for ALEKS , Connect & SIMnet

Instructor Sample Requests Get step by step instructions for requesting an evaluation, exam, or desk copy

Platform System Check System status in real time

Introduction to Programming with Java: A Problem Solving Approach

Introduction to Programming with Java: A Problem Solving Approach , 3rd Edition

Format options:.

Lowest Price!

  • Print from $70.00

McGraw Hill eBook

  • Highlight, take notes, and search
  • Download the free  ReadAnywhere app  for offline and mobile access

Watch to learn more about the eBook

Textbook Rental (150 Days Access)

  • Rent for a fraction of the printed textbook price
  • Complete text bound in hardcover or softcover

Loose-Leaf Purchase

Unbound loose-leaf version of full text

Shipping Options

  • Next-day air
  • 2nd-day air

Orders within the United States are shipped via FedEx or UPS Ground. For shipments to locations outside of the U.S., only standard shipping is available. All shipping options assume the product is available and that processing an order takes 24 to 48 hours prior to shipping.

* The estimated amount of time this product will be on the market is based on a number of factors, including faculty input to instructional design and the prior revision cycle and updates to academic research-which typically results in a revision cycle ranging from every two to four years for this product. Pricing subject to change at any time.

Instructor Information

Quick Actions ( Only for Validated Instructor Accounts ):

  • Table of Contents
  • Author Bios

Affordability

Introduction to Programming with Java: A Problem Solving Approach teaches the reader how to write programs using Java. It does so with a unique approach that combines fundamentals first with objects early. The book transitions smoothly through a carefully selected set of procedural programming fundamentals to object-oriented fundamentals. During this early transition and beyond, the book emphasizes problem solving. For example, Chapter 2 is devoted to algorithm development, Chapter 8 is devoted to program design, and problem-solving sections appear throughout the book. The third edition introduces several new Java language features, most of the end-of-chapter GUI sections and the final GUI chapters use JavaFX, and almost all end-of-chapter exercises are new.

Chapter 1. Introduction to Computers and Programming

Chapter 2. algorithms and design, chapter 3. java basics, chapter 4. control statements, chapter 5. using prebuilt methods, chapter 6. object-oriented programming, chapter 7. object-oriented programming-additional details, chapter 8. software engineering, chapter 9. arrays, chapter 10. arrays lists and an introduction to the java collections framework, chapter 11. recursion, chapter 12. type details and alternative coding mechanisms, chapter 13. aggregation, composition, and inheritance, chapter 14. inheritance and polymorphism, chapter 15. exception handling, chapter 16. files, buffers, channels, and paths, chapter 17. gui programming basics, chapter 18. gui programming-layout panes, additional gui components, chapter 19. gui programming-additional gui components, additional listeners, animation, appendix 1. ascii character set, appendix 2. operator precedence, appendix 3. java reserved words, appendix 4. packages and modules, appendix 5. java coding-style conventions, appendix 6. javadoc with tags, appendix 7. uml diagrams, appendix 8. number systems and conversions between them, about the author.

John Dean is an Associate Professor in the Computer Science and Mathematics Department at Park University. He earned a Ph.D. degree in computer science from Nova Southeastern University and an M.S. degree in computer science from the University of Kansas. He is Java certified and has worked in industry as a software engineer and project manager, specializing in Java and various Web technologies— JavaScript, JavaServer Pages, and servlets. He has taught a full range of computer science courses, including Java programming and Java-based web programming. He has authored a web programming textbook with a focus on client-side technologies HTML5, CSS, and JavaScript.

Raymond Dean is a Professor Emeritus, Electrical Engineering and Computer Science, University of Kansas. He earned an M.S. degree from MIT and a Ph.D. degree from Princeton University, and he is a senior member of IEEE. He has published numerous scientific papers and has 21 U.S. patents. He has industry experience in manufacturing HVAC equipment and energy-management controls, as well as in system energy analysis. At the University of Kansas, he taught a wide range of courses in electrical engineering and computer science.

Reduce course material costs for your students while still providing full access to everything they need to be successful. It isn't too good to be true - it's Inclusive Access.

Need support?    We're here to help -  Get real-world support and resources every step of the way.

Company Info

  • Contact & Locations
  • Diversity, Equity & Inclusion
  • Social Responsibility
  • Investor Relations
  • Social Media Directory
  • Place an Order
  • Get Support
  • Contact Customer Service
  • Contact Sales Rep
  • Check System Status

Additional Resources

  • Permissions
  • Accessibility
  • Author Support
  • International Rights
  • Purchase Order

Follow McGraw Hill:

©2024 McGraw Hill. All Rights Reserved.

AICPA SOC Logo

Get full access to Java Coding Problems and 60K+ other titles, with a free 10-day trial of O'Reilly.

There are also live events, courses curated by job role, and more.

Java Coding Problems

  • Java Coding Problems

Read it now on the O’Reilly learning platform with a 10-day free trial.

O’Reilly members get unlimited access to books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.

Book description

Develop your coding skills by exploring Java concepts and techniques such as Strings, Objects and Types, Data Structures and Algorithms, Concurrency, and Functional programming

Key Features

  • Solve Java programming challenges and get interview-ready by using the power of modern Java 11
  • Test your Java skills using language features, algorithms, data structures, and design patterns
  • Explore areas such as web development, mobile development, and GUI programming

Book Description

The super-fast evolution of the JDK between versions 8 and 12 has increased the learning curve of modern Java, therefore has increased the time needed for placing developers in the Plateau of Productivity. Its new features and concepts can be adopted to solve a variety of modern-day problems. This book enables you to adopt an objective approach to common problems by explaining the correct practices and decisions with respect to complexity, performance, readability, and more.

Java Coding Problems will help you complete your daily tasks and meet deadlines. You can count on the 300+ applications containing 1,000+ examples in this book to cover the common and fundamental areas of interest: strings, numbers, arrays, collections, data structures, date and time, immutability, type inference, Optional, Java I/O, Java Reflection, functional programming, concurrency and the HTTP Client API. Put your skills on steroids with problems that have been carefully crafted to highlight and cover the core knowledge that is accessed in daily work. In other words (no matter if your task is easy, medium or complex) having this knowledge under your tool belt is a must, not an option.

By the end of this book, you will have gained a strong understanding of Java concepts and have the confidence to develop and choose the right solutions to your problems.

What you will learn

  • Adopt the latest JDK 11 and JDK 12 features in your applications
  • Solve cutting-edge problems relating to collections and data structures
  • Get to grips with functional-style programming using lambdas
  • Perform asynchronous communication and parallel data processing
  • Solve strings and number problems using the latest Java APIs
  • Become familiar with different aspects of object immutability in Java
  • Implement the correct practices and clean code techniques
  • Who this book is for

If you are a Java developer who wants to level-up by solving real-world problems, then this book is for you. Working knowledge of Java is required to get the most out of this book.

Publisher resources

Download Example Code

Table of contents

  • Why subscribe?
  • About the author
  • About the reviewers
  • Packt is searching for authors like you
  • What this book covers
  • Download the example code files
  • Download the color images
  • Code in action
  • Conventions used
  • What about Unicode characters?
  • 2. Finding the first non-repeated character
  • 3. Reversing letters and words
  • 4. Checking whether a string contains only digits
  • 5. Counting vowels and consonants
  • 6. Counting the occurrences of a certain character
  • 7. Converting a string into an int, long, float, or double
  • 8. Removing white spaces from a string
  • 9. Joining multiple strings with a delimiter
  • 10. Generating all permutations
  • 11. Checking whether a string is a palindrome
  • 12. Removing duplicate characters
  • 13. Removing a given character
  • 14. Finding the character with the most appearances
  • 15. Sorting an array of strings by length
  • 16. Checking that a string contains a substring
  • 17. Counting substring occurrences in a string
  • 18. Checking whether two strings are anagrams
  • 19. Declaring multiline strings (text blocks)
  • 20. Concatenating the same string n times
  • 21. Removing leading and trailing spaces
  • 22. Finding the longest common prefix
  • 23. Applying indentation
  • 24. Transforming strings
  • 25. Computing the minimum and maximum of two numbers
  • 26. Summing two large int/long values and operation overflow
  • 27. String as an unsigned number in the radix
  • 28. Converting into a number by an unsigned conversion
  • 29. Comparing two unsigned numbers
  • 30. Division and modulo of unsigned values
  • 31. double/float is a finite floating-point value
  • 32. Applying logical AND/OR/XOR to two boolean expressions
  • 33. Converting BigInteger into a primitive type
  • 34. Converting long into int
  • 35. Computing the floor of a division and modulus
  • 36. Next floating-point value
  • 37. Multiplying two large int/long values and operation overflow
  • 38. Fused Multiply Add
  • 40. Checking null references in functional style and imperative code
  • 41. Checking null references and throwing customized NullPointerException
  • 42. Checking null references and throwing the specified exception
  • 43. Checking null references and returning non-null default references
  • 44. Checking the index in the range from 0 to length
  • 45. Checking the subrange in the range from 0 to length
  • 46. equals() and hashCode()
  • 47. Immutable objects in a nutshell
  • String constant pool or cached pool
  • Thread safety
  • Hash code caching
  • Class loading
  • String cannot be extended
  • Sensitive data in memory for a long time
  • OutOfMemoryError
  • Is String completely immutable?
  • 49. Writing an immutable class
  • 50. Passing/returning mutable objects to/from an immutable class
  • 51. Writing an immutable class via the Builder pattern
  • 52. Avoiding bad data in immutable objects
  • Manual cloning
  • Cloning via clone()
  • Cloning via a constructor
  • Cloning via the Cloning library
  • Cloning via serialization
  • Cloning via JSON
  • 54. Overriding toString()
  • 55. Switch expressions
  • 56. Multiple case labels
  • 57. Statement blocks
  • Before JDK 8
  • Starting with JDK 8
  • 59. Formatting date and time
  • 60. Getting the current date/time without time/date
  • 61. LocalDateTime from LocalDate and LocalTime
  • Converting String to Instant
  • Adding or subtracting time to/from Instant
  • Comparing Instant objects
  • Converting between Instant and LocalDateTime, ZonedDateTime, and OffsetDateTime
  • Period of time using date-based values
  • Duration of time using time-based values
  • 64. Getting date and time units
  • Working with Date
  • Working with LocalDateTime
  • 68. Displaying date-time information about a flight
  • 69. Converting a Unix timestamp to date-time
  • 70. Finding the first/last day of the month
  • Date – Instant
  • Date – LocalDate
  • Date – DateLocalTime
  • Date – ZonedDateTime
  • Date – OffsetDateTime
  • Date – LocalTime
  • Date – OffsetTime
  • Starting with JDK 9
  • 75. Start and end of a day
  • 77. Implementing a chess clock
  • 78. Simple var example
  • 79. Using var with primitive types
  • 80. Using var and implicit type casting to sustain the code's maintainability
  • 81. Explicit downcast or better avoid var
  • 82. Avoid using var if the called names don't contain enough type information for humans
  • 83. Combining LVTI and programming to the interface technique
  • 84. Combining LVTI and the diamond operator
  • 85. Assigning an array to var
  • 86. Using LVTI in compound declarations
  • 87. LVTI and variable scope
  • 88. LVTI and the ternary operator
  • 89. LVTI and for loops
  • 90. LVTI and streams
  • 91. Using LVTI to break up nested/large chains of expressions
  • 92. LVTI and the method return and argument types
  • 93. LVTI and anonymous classes
  • 94. LVTI can be final and effectively final
  • 95. LVTI and lambdas
  • Try-with-resource
  • 97. LVTI and generic types, T
  • LVTI and wildcards
  • LVTI and covariants/contravariants
  • JDK built-in solutions
  • Bubble sort
  • Insertion sort
  • Counting sort
  • Check only for the presence
  • Check only for the first index
  • Checking whether two arrays are equal
  • Checking whether two arrays contain a mismatch
  • 102. Comparing two arrays lexicographically
  • 103. Creating a Stream from an array
  • Computing maximum and minimum
  • Computing average
  • 105. Reversing an array
  • 106. Filling and setting an array
  • 107. Next Greater Element
  • 108. Changing array size
  • Problem 1 (Collections.unmodifiableList())
  • Problem 2 (Arrays.asList())
  • Problem 3 (Collections.unmodifiableList() and static block)
  • Problem 4 (List.of())
  • Problem 5 (immutable)
  • 110. Mapping a default value
  • Example 1 (computeIfPresent())
  • Example 2 (computeIfAbsent())
  • Example 3 (compute())
  • Example 4 (merge())
  • Example 5 (putIfAbsent())
  • 112. Removal from a Map
  • 113. Replacing entries from a Map
  • 114. Comparing two maps
  • Sorting by key via TreeMap and natural ordering
  • Sorting by key and value via Stream and Comparator
  • Sorting by key and value via List
  • 116. Copying HashMap
  • 117. Merging two maps
  • Removing via an iterator
  • Removing via Collection.removeIf()
  • Removing via Stream
  • Separating elements via Collectors.partitioningBy()
  • 119. Converting a collection into an array
  • 120. Filtering a Collection by a List
  • 121. Replacing elements of a List
  • Thread-safe lists
  • Thread-safe set
  • Thread-safe map
  • Thread-safe queue backed by an array
  • Thread-safe queue based on linked nodes
  • Thread-safe priority queue
  • Thread-safe delay queue
  • Thread-safe transfer queue
  • Thread-safe synchronous queue
  • Thread-safe stack
  • Synchronized collections
  • Concurrent versus synchronized collections
  • 123. Breadth-first search
  • Inserting in a Trie
  • Finding in a Trie
  • Deleting from a Trie
  • Implementing the find operation
  • Implementing the union operation
  • 127. Fenwick Tree or Binary Indexed Tree
  • 128. Bloom filter
  • Creating a path relative to the file store root
  • Creating a path relative to the current folder
  • Creating an absolute path
  • Creating a path using shortcuts
  • 130. Converting file paths
  • 131. Joining file paths
  • 132. Constructing a path between two locations
  • Path.equals()
  • Paths representing the same file/folder
  • Lexicographical comparison
  • Partial comparing
  • Trivial traversal of a folder
  • Searching for a file by name
  • Deleting a folder
  • Copying a folder
  • JDK 8, Files.walk()
  • Watching a folder for changes
  • 136. Streaming a file's content
  • 137. Searching for files/folders in a file tree
  • Reading text files in memory
  • Writing text files
  • Reading binary files into memory
  • Writing binary files
  • Solution based on BufferedReader
  • Solution based on Files.readAllLines()
  • Solution based on Files.lines()
  • Solution based on Scanner
  • Solution based on MappedByteBuffer
  • Using JSON-B
  • Using Jackson
  • Reading a CSV file as an object
  • Creating a temporary folder/file
  • Deleting a temporary folder/file via shutdown-hook
  • Deleting a temporary folder/file via deleteOnExit()
  • Deleting a temporary file via DELETE_ON_CLOSE
  • Filtering via Files.newDirectoryStream()
  • Filtering via FilenameFilter
  • Filtering via FileFilter
  • 144. Discovering mismatches between two files
  • 145. Circular byte buffer
  • 146. Tokenizing files
  • 147. Writing formatted output directly to a file
  • Scanner versus BufferedReader
  • Getting the classes of a package
  • Inspecting packages inside modules
  • Get the name of the Pair class via an instance
  • Getting the Pair class modifiers
  • Getting the Pair class implemented interfaces
  • Getting the Pair class constructors
  • Getting the Pair class fields
  • Getting the Pair class methods
  • Getting the Pair class module
  • Getting the Pair class superclass
  • Getting the name of a certain type
  • Getting a string that describes the class
  • Getting the type descriptor string for a class
  • Getting the component type of an array
  • Getting a class for an array type whose component type is described by Pair
  • Instantiating a class via a private constructor
  • Instantiating a class from a JAR
  • Useful snippets of code
  • 152. Getting the annotation of a receiver type
  • 153. Getting synthetic and bridge constructs
  • 154. Checking the variable number of arguments
  • 155. Checking default methods
  • Access via the Reflection API
  • Fetching getters and setters
  • Generating getters and setters
  • Inspecting package annotations
  • Inspecting class annotations
  • Inspecting methods annotations
  • Inspecting annotations of the thrown exceptions
  • Inspecting annotations of the return type
  • Inspecting annotations of the method's parameters
  • Inspecting annotations of fields
  • Inspecting annotations of the superclass
  • Inspecting annotations of interfaces
  • Get annotations by type
  • Get a declared annotation
  • 159. Invoking an instance method
  • 160. Getting static methods
  • Generics of methods
  • Generics of fields
  • Generics of a superclass
  • Generics of interfaces
  • Generics of exceptions
  • 162. Getting public and private fields
  • 163. Working with arrays
  • 164. Inspecting modules
  • Implementing a dynamic proxy
  • Day 1 (filtering melons by their type)
  • Day 2 (filtering melons of a certain weight)
  • Day 3 (filtering melons by type and weight)
  • Day 4 (pushing the behavior as a parameter)
  • Day 5 (implementing another 100 filters)
  • Day 6 (anonymous classes can be written as lambdas)
  • Day 7 (abstracting the List type)
  • 167. Lambdas in a nutshell
  • 168. Implementing the Execute Around pattern
  • 169. Implementing the Factory pattern
  • 170. Implementing the Strategy pattern
  • 171. Implementing the Template Method pattern
  • 172. Implementing the Observer pattern
  • 173. Implementing the Loan pattern
  • 174. Implementing the Decorator pattern
  • 175. Implementing the Cascaded Builder pattern
  • 176. Implementing the Command pattern
  • Testing a method that takes a lambda as a parameter
  • Testing a method that returns a functional interface
  • 178. Testing methods that use lambdas
  • 179. Debugging lambdas
  • 180. Filtering the non-zero elements of a stream
  • Infinite sequential ordered stream
  • Unlimited stream of pseudorandom values
  • Infinite sequential unordered stream
  • Take while a predicate returns true
  • Drop while a predicate returns true
  • Using Stream.map()
  • Using Stream.flatMap()
  • 184. Matching elements in a stream
  • The sum(), min(), and max() terminal operations
  • 186. Collecting the result of a stream
  • 187. Joining the results of a stream
  • Maximum and minimum
  • Getting all
  • Single-level grouping
  • Multilevel grouping
  • 190. Partitioning
  • filtering()
  • flatMapping()
  • 192. Teeing
  • The supplier – Supplier<A> supplier();
  • Accumulating elements – BiConsumer<A, T> accumulator();
  • Applying the final transformation – Function<A, R> finisher();
  • Parallelizing the collector – BinaryOperator<A> combiner();
  • Returning the final result – Function<A, R> finisher();
  • Characteristics – Set<Characteristics> characteristics();
  • Testing time
  • Custom collecting via collect()
  • Method reference to a static method
  • Method reference to an instance method
  • Method reference to a constructor
  • Spliterators
  • Writing a custom Spliterator
  • 196. Null-safe streams
  • Composing predicates
  • Composing comparators
  • Composing functions
  • 198. Default methods
  • The NEW state
  • The RUNNABLE state
  • The BLOCKED state
  • The WAITING state
  • The TIMED_WAITING state
  • The TERMINATED state
  • Locking at the object level
  • Lock at the class level
  • Good to know
  • ExecutorService
  • ScheduledExecutorService
  • Thread pools via Executors
  • Producer waits for the consumer to be available
  • Producer doesn't wait for the consumer to be available
  • 203. Thread pool with a fixed number of threads
  • 204. Cached and scheduled thread pools
  • A large number of small tasks
  • A small number of time-consuming tasks
  • Canceling a Future
  • 207. Invoking multiple Callable tasks
  • 208. Latches
  • 209. Barrier
  • 210. Exchanger
  • 211. Semaphores
  • 212. Phasers
  • 213. Interruptible methods
  • Computing the sum via RecursiveTask
  • Computing Fibonacci via RecursiveAction
  • Using CountedCompleter
  • 215. Fork/join framework and compareAndSetForkJoinTaskTag()
  • Running asynchronous task and return void
  • Running an asynchronous task and returning a result
  • Running an asynchronous task and returning a result via an explicit thread pool
  • Attaching a callback that processes the result of an asynchronous task and returns a result
  • Attaching a callback that processes the result of an asynchronous task and returns void
  • Attaching a callback that runs after an asynchronous task and returns void
  • Handling exceptions of an asynchronous task via exceptionally()
  • JDK 12 exceptionallyCompose()
  • Handling exceptions of an asynchronous task via handle()
  • Explicitly complete a CompletableFuture
  • Combining via thenCompose()
  • Combining via thenCombine()
  • Combining via allOf()
  • Combining via anyOf()
  • 218. Optimizing busy waiting
  • 219. Task Cancellation
  • Per-thread instances
  • Per-thread context
  • Adders and accumulators
  • 222. ReentrantLock
  • 223. ReentrantReadWriteLock
  • 224. StampedLock
  • 225. Deadlock (dining philosophers)
  • 226. Initializing Optional
  • 227. Optional.get() and missing value
  • 228. Returning an already-constructed default value
  • 229. Returning a non-existent default value
  • 230. Throwing NoSuchElementException
  • 231. Optional and null references
  • 232. Consuming a present Optional class
  • 233. Returning a present Optional class or another one
  • 234. Chaining lambdas via orElseFoo()
  • 235. Do not use Optional just for getting a value
  • 236. Do not use Optional for fields
  • 237. Do not use Optional in constructor args
  • 238. Do not use Optional in setter args
  • 239. Do not use Optional in method args
  • 240. Do not use Optional to return empty or null collections or arrays
  • 241. Avoiding Optional in collections
  • 242. Confusing of() with ofNullable()
  • 243. Optional<T> versus OptionalInt
  • 244. Asserting equality of Optionals
  • 245. Transforming values via Map() and flatMap()
  • 246. Filter values via Optional.filter()
  • 247. Chaining the Optional and Stream APIs
  • 248. Optional and identity-sensitive operations
  • 249. Returning a boolean if the Optional class is empty
  • 250. HTTP/2
  • Query parameter builder
  • 252. Setting a proxy
  • Setting request headers
  • Getting request/response headers
  • 254. Specifying the HTTP method
  • Creating a body from a string
  • Creating a body from InputStream
  • Creating a body from a byte array
  • Creating a body from a file
  • 256. Setting connection authentication
  • 257. Setting a timeout
  • 258. Setting the redirect policy
  • Sending a request synchronously
  • Sending a request asynchronously
  • Sending multiple requests concurrently
  • 260. Handling cookies
  • 261. Getting response information
  • Handling a response body as a string
  • Handling a response body as a file
  • Handling a response body as a byte array
  • Handling a response body as an input stream
  • Handling a response body as a stream of strings
  • JSON response to User
  • Updated User to JSON request
  • New User to JSON request
  • 264. Compression
  • 265. Handling form data
  • 266. Downloading a resource
  • 267. Uploading with multipart
  • 268. HTTP/2 server push
  • 269. WebSocket
  • Leave a review - let other readers know what you think

Product information

  • Title: Java Coding Problems
  • Author(s): Anghel Leonard
  • Release date: September 2019
  • Publisher(s): Packt Publishing
  • ISBN: 9781789801415

You might also like

The well-grounded java developer, second edition.

by Jason Clark, Benjamin Evans, Martijn Verburg

Understanding Java from the JVM up gives you a solid foundation to grow your expertise and …

Modern Java in Action

by Mario Fusco, Raoul-Gabriel Urma, Alan Mycroft

Manning's bestselling Java 8 book has been revised for Java 9 and 10! In Modern Java …

Java SE 11 Developer (1Z0-819)

by Simon Roberts

18+ Hours of Video Instruction Description An intensive study resource designed to guide you in best …

97 Things Every Java Programmer Should Know

by Kevlin Henney, Trisha Gee

If you want to push your Java skills to the next level, this book provides expert …

Don’t leave empty-handed

Get Mark Richards’s Software Architecture Patterns ebook to better understand how to design components—and how they should interact.

It’s yours, free.

Cover of Software Architecture Patterns

Check it out now on O’Reilly

Dive in for free with a 10-day trial of the O’Reilly learning platform—then explore all the other resources our members count on to build skills and solve problems every day.

java problem solving book pdf

We will keep fighting for all libraries - stand with us!

Internet Archive Audio

java problem solving book pdf

  • This Just In
  • Grateful Dead
  • Old Time Radio
  • 78 RPMs and Cylinder Recordings
  • Audio Books & Poetry
  • Computers, Technology and Science
  • Music, Arts & Culture
  • News & Public Affairs
  • Spirituality & Religion
  • Radio News Archive

java problem solving book pdf

  • Flickr Commons
  • Occupy Wall Street Flickr
  • NASA Images
  • Solar System Collection
  • Ames Research Center

java problem solving book pdf

  • All Software
  • Old School Emulation
  • MS-DOS Games
  • Historical Software
  • Classic PC Games
  • Software Library
  • Kodi Archive and Support File
  • Vintage Software
  • CD-ROM Software
  • CD-ROM Software Library
  • Software Sites
  • Tucows Software Library
  • Shareware CD-ROMs
  • Software Capsules Compilation
  • CD-ROM Images
  • ZX Spectrum
  • DOOM Level CD

java problem solving book pdf

  • Smithsonian Libraries
  • FEDLINK (US)
  • Lincoln Collection
  • American Libraries
  • Canadian Libraries
  • Universal Library
  • Project Gutenberg
  • Children's Library
  • Biodiversity Heritage Library
  • Books by Language
  • Additional Collections

java problem solving book pdf

  • Prelinger Archives
  • Democracy Now!
  • Occupy Wall Street
  • TV NSA Clip Library
  • Animation & Cartoons
  • Arts & Music
  • Computers & Technology
  • Cultural & Academic Films
  • Ephemeral Films
  • Sports Videos
  • Videogame Videos
  • Youth Media

Search the history of over 866 billion web pages on the Internet.

Mobile Apps

  • Wayback Machine (iOS)
  • Wayback Machine (Android)

Browser Extensions

Archive-it subscription.

  • Explore the Collections
  • Build Collections

Save Page Now

Capture a web page as it appears now for use as a trusted citation in the future.

Please enter a valid web address

  • Donate Donate icon An illustration of a heart shape

Introduction to programming with Java : a problem solving approach

Bookreader item preview, share or embed this item, flag this item for.

  • Graphic Violence
  • Explicit Sexual Content
  • Hate Speech
  • Misinformation/Disinformation
  • Marketing/Phishing/Advertising
  • Misleading/Inaccurate/Missing Metadata

[WorldCat (this item)]

plus-circle Add Review comment Reviews

5 Favorites

Better World Books

DOWNLOAD OPTIONS

No suitable files to display here.

IN COLLECTIONS

Uploaded by station18.cebu on January 27, 2023

SIMILAR ITEMS (based on metadata)

CsTutorialPoint - Computer Science Tutorials For Beginners

Java Programming Exercises With Solutions (PDF)

Here you will get Java Programming Exercises With Solutions (PDF)

Here I am going to provide you a document of these, which you can download and make changes according to your own.

Java Programming Exercises With Solutions (PDF)

Download Java Programming Exercises With Solutions

Download Now

Download Java Programming Exercises With Solutions (For Beginners)

If you face any problem in downloading Java Programming Practical Assignments Questions and Solutions PDFs, then tell us in the comment below and you will definitely share this post with your friends so that they can also be of some help.

  • 10+ Java Projects With Source Code [Free Download]
  • C Programs for Practice (250+ C Programs for Practice PDF)
  • Data Structure Notes (Download Data Structure Handwritten Notes Pdf)
  • BCA Question Papers (1st Year, 2nd Year and 3rd Year 2022) – Download Question Papers PDF

' src=

Jeetu Sahu is A Web Developer | Computer Engineer | Passionate about Coding, Competitive Programming, and Blogging

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Save my name, email, and website in this browser for the next time I comment.

java problem solving book pdf

  • Business & Money
  • Management & Leadership

Buy new: $68.93 $68.93 $12.29 delivery: Feb 29 - March 11 Ships from: Alpha Textbooks Inc. Sold by: Alpha Textbooks Inc.

Buy used: $5.90.

Kindle app logo image

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required .

Read instantly on your browser with Kindle for Web.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

Image Unavailable

Problem Solving with Java (2nd Edition)

  • To view this video download Flash Player

Follow the author

Elliot B. Koffman

Problem Solving with Java (2nd Edition) 2nd Edition

Purchase options and add-ons.

  • Book Description
  • Editorial Reviews

From the Back Cover

Problem Solving with Java , 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.

Excerpt. © Reprinted by permission. All rights reserved.

This textbook is intended for a first course in problem solving and program design with Java (CS 1). It assumes no prior knowledge of computers or programming, and for most of its material, high school algebra is sufficient mathematics background. A limited knowledge of discrete mathematics is desirable for a few sections.

Problem Solving and Program Design

The primary emphasis in this text is on problem solving with Java. We accomplish this by selecting features of the language that lend themselves to good program design. We also emphasize abstraction and follow a standard five-step approach to program design (problem specification, analysis, design, implementation, and testing). We have modified this time-tested approach for software development to the object-oriented paradigm. We follow it faithfully in the solution of more than 20 case studies throughout the book. Ten of the case studies are new to this edition.

Classes and Objects Early

Students use predefined classes like String and Math to write small applications in Chapter 2. They begin to write their own worker classes to model real-world objects in Chapter 3. Examples are a FoodItem class, a CoinChanger class, a Circle class, and a Washer class. Methods are introduced in Chapter 2 and thoroughly covered in Chapter 3.

Object-Oriented Programming (OOP)

We continue to use worker classes in applications and discuss OOP concepts in an informal manner. We provide a detailed discussion of OOP in Chapter 6. We introduce class hierarchies, inheritance, interfaces, and abstract classes by studying several case studies that use these features.

Standard Input/Output Stressed

We use standard Java for input and output. Starting in Chapter 1, we use class JOptionPane (part of Swing) for windows-based input and output and we use the console window for more extensive output. In Chapter 3, we provide an optional package with static methods for input (based on JOptionPane) that simplifies data entry with dialog windows. The input methods check for number format errors and can check for range violations. Most programs in the book use standard Java I/O methods, but students can use the optional package if they wish.

This is a departure from the first edition, which utilized a nonstandard graphical user interface (GUI) package. Our experience is that many of the benefits of this package can be derived through class JOoptionPane. Many Java programming instructors preferred to teach standard methods rather than rely on a nonstandard package. We hope that we have met the needs of most users by relying on standard input/output and by also providing an optional nonstandard package that is simpler to use.

Applets and Applications

We focus on applications in Chapters 2 and 3, where we attempt to teach the basics of simple programs that calculate results. We use applications rather than applets because we don't want students to have to deal with the details of providing a GUI. We introduce applets, HyperText Markup Language (HTML), and graphics programming using the AWT Graphics class to draw simple graphical patterns in Chapter 3. When we cover GUIs in Chapter 7, we use Swing components. (see below).

Control Structures and Indexed Data Structures

In this edition, we cover selection and loop control structures together in Chapter 4. However, the control structures are not intermixed. We complete the selection control structures before we begin loop control structures, so instructors can separate these structures if they wish to.

We study arrays in Chapter 5, along with other Java indexed data collections, the Vector class and ArrayList class. We also discuss wrapper classes for the primitive types in this chapter.

We revisit applets and HTML in Chapter 7 when we describe how to build GUIs using Swing components. We also show how to use class JFrame to write applications that have GUIs. We show several examples of GUIs in both applications and applets.

Exceptions and Streams

Chapter 8 is a new chapter on exceptions and streams. Knowing how to catch and throw exceptions is critical to stream processing, so we begin the chapter with a discussion of exceptions. The chapter covers streams of characters, binary streams, and streams of objects.

Coverage of Advanced Topics

Chapters 9 and 10 concern themselves with more traditional aspects of programming often found in CS2: recursion and processing linked data structures. We develop classes for linked lists, stacks, queues, and binary search trees. We define the node structure in inner classes. We also show how to use the LinkedList collection class and the ListIterator class. Many CS1 courses would not include this advanced material.

Flexibility of Coverage

There is sufficient material in the textbook for one and a half semesters or for two quarters. We consider Chapters 1 through 7 the core of the book, and they should be covered by all students. The first four chapters (through control structures) must be covered in sequence:

1. Introduction to Computers, Problem Solving, and Programming 2. Using Primitive Data Types and Using Classes 3. Object-Oriented Design and Writing Worker Classes 4. Control Structures: Decisions and Loops

The next three chapters deal with arrays, OOP, and GUI design, and they can be covered in a variety of ways:

5. Arrays and Vectors 6. Class Hierarchies, Inheritance, and Interfaces 7. Graphical User Interfaces (GUIs)

Faculty who want to cover GUIs earlier can cover Chapter 7 first, omitting the few examples that involve arrays. Similarly, faculty who want to cover OOP details earlier can introduce the fundamentals of using arrays (Sections 5.1-5.3) and then cover Chapter 6 in detail. Then continue with the rest of Chapter 5 or Chapter 7.

Chapter 9, Recursion, could also be introduced earlier. Sections 9.1-9.3 could be covered after Chapter 4 and the rest of the chapter could be covered after Chapter 5.

Pedagogical Features

We employ several pedagogical features to enhance the usefulness of the book as a teaching tool. Discussion of some of these features follows.

End-of-Section Exercises: Most sections end with a number of self-check exercises, including exercises that require analysis of program fragments as well as short programming exercises. Answers to odd-numbered self-check exercises appear at the back of the book; answers to other exercises are provided in the Instructor's Manual.

End-of-Chapter Exercises: Each chapter ends with a set of quick-check exercises with answers. There are also chapter review exercises with solutions provided in the Instructor's Manual.

End-of-Chapter Projects: There are several projects at the end of each chapter that are suitable for programming assignments. Answers to selected projects appear in the Instructor's Manual.

Examples and Case Studies: The text contains a large number and variety of programming examples. Whenever possible, examples contain complete class or method definitions rather than incomplete fragments. Each chapter contains one or more case studies that are solved following the software development method.

Syntax Displays: The syntax displays describe the syntax and semantics of each new Java feature complete with examples.

Program Style Displays: The program style displays discuss issues of good programming style.

Error Discussions and Chapter Review: Each chapter ends with a section that discusses common programming errors. Chapter reviews include a table of new Java constructs.

Appendixes and Supplements

Appendixes: The text concludes with several appendixes covering the Java language, HTML, unicode, Borland JBuilder, resources for finding out more about Java, and a summary of Java class libraries.

Packages and Classes: Further information about this textbook can be found at www.awcom/cssupport . You will be able to download package psJava and source code for all the classes provided in the textbook.

Instructor's Manual: Access to an online instructor's manual is available through your Addison-Wesley sales representative. The Instructor's Manual contains answers to selected exercises and projects and is available to qualified instructor's only

Acknowledgments

There were many individuals without whose support this book could not have been written. These include the principal reviewers of this edition and the first edition:

Julia E. Benson, DeKalb College Richard J. Boning, California State University San Bernadino Tom Corona, SUNY at Stony Brook Robert H. Dependahl, Jr., Santa Barbara City College Bill Grosky, Wayne State University Stanley H. Lipson, Kean University of New Jersey David Mathias, Ohio State University Bina Ramamurthy, SUNY at Buffalo Stuart Reges, University of Arizona James Svoboda, Clarkson University John S. Ze1ek, University of Guelph

Several students at The College of New Jersey (TCNJ) and Temple University helped with the development of the textbook. They include Brice Behringer, Greg Bronevetsky George Drayer, William Fenstermaker, Mark Nikolsky, Brian Robinson, and Michael Sipper...

  • ISBN-10 0201722143
  • ISBN-13 978-0201722147
  • Edition 2nd
  • Publisher Addison Wesley
  • Publication date November 8, 2001
  • Language English
  • Dimensions 7.25 x 1.25 x 8.75 inches
  • Print length 880 pages
  • See all details

Books with Buzz

Popular titles by this author

Problem Solving and Program Design in C

Product details

  • Publisher ‏ : ‎ Addison Wesley; 2nd edition (November 8, 2001)
  • Language ‏ : ‎ English
  • Paperback ‏ : ‎ 880 pages
  • ISBN-10 ‏ : ‎ 0201722143
  • ISBN-13 ‏ : ‎ 978-0201722147
  • Item Weight ‏ : ‎ 2.84 pounds
  • Dimensions ‏ : ‎ 7.25 x 1.25 x 8.75 inches
  • #3,223 in Java Programming
  • #10,196 in Computer Programming Languages
  • #13,973 in Decision-Making & Problem Solving

Important information

To report an issue with this product or seller, click here .

About the author

java problem solving book pdf

Elliot B. Koffman

Discover more of the author’s books, see similar authors, read author blogs and more

Customer reviews

Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.

To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.

  • Sort reviews by Top reviews Most recent Top reviews

IMAGES

  1. Java An Introduction To Problem Solving And Programming 8th Edition By

    java problem solving book pdf

  2. [PDF] Java: An Introduction to Problem Solving and Programming (6th

    java problem solving book pdf

  3. [PDF] Java: An Introduction to Problem Solving and Programming (4th

    java problem solving book pdf

  4. Java: An Introduction to Problem Solving and Programming, 8th Edition

    java problem solving book pdf

  5. Java: An Introduction to Problem Solving and Programming (8th Edition

    java problem solving book pdf

  6. java: an introduction to problem solving and programming

    java problem solving book pdf

VIDEO

  1. 3. (Java Programming)

  2. Method In Java..!

  3. 5) Method in java

  4. Methods

  5. Day 2

  6. Reverse First K elements of Queue

COMMENTS

  1. Java, Java, Java: Object-Oriented Problem Solving

    About the Book. We have designed this third edition of Java, Java, Java to be suitable for a typical Introduction to Computer Science (CS1) course or for a slightly more advanced Java as a Second Language course. This edition retains the "objects first" approach to programming and problem solving that was characteristic of the first two ...

  2. PDF Introduction to Programming in Java

    to solve engaging problems. We use the Java programming language for all of the programs in this book— we refer to Java after programming in the title to emphasize the idea that the book is about fundamental concepts in programming, not Java per se. This book teaches basic skills for computational problem-solving that are applicable in many ...

  3. PDF Java, Java, Java

    Java, Java, Java Object-Oriented Problem Solving Third Edition R. Morelli and R. Walde Trinity College Hartford, CT June 25, 2017. ... This PDF edition of the book is available under a Creative Commons Attribution 4.0 International License, which allows the book to be used,

  4. PDF Learning Computer Programming Using Java with 101 Examples

    introduce students to creating computer programs to solve problems with high-level languages. Programming concepts appearing in modern programming languages are presented through writing Java programs. Java is selected as the language of choice due to its relatively simple grammars. It is also a good choice for introducing students to the concept

  5. Java : an introduction to problem solving & programming

    Books. An illustration of two cells of a film strip. Video An illustration of an audio speaker. ... Java : an introduction to problem solving & programming by Savitch, Walter J., 1943-2021, author. Publication date 2015 ... Pdf_module_version 0.0.18 Ppi 360 Rcs_key 24143 Republisher_date 20220716175746 Republisher_operator

  6. Java Challenges: 100+ Proven Tasks that Will Prepare You for ...

    Java Challenges will prepare you for your next exam or job interview, and covers many practical topics, such as strings, arrays, data structures, recursion, and date and time. The APIs and other material included in this book are Java 17 compatible. Each topic is addressed in its own separate chapter, starting with an introduction to the basics ...

  7. Introduction to Programming with Java: A Problem Solving Approach

    For example, Chapter 2 is devoted to algorithm development, Chapter 8 is devoted to program design, and problem-solving sections appear throughout the book. The third edition introduces several new Java language features, most of the end-of-chapter GUI sections and the final GUI chapters use JavaFX, and almost all end-of-chapter exercises are new.

  8. Programming and Problem Solving with Java

    Extensively revised, the new Second Edition of Programming and Problem Solving with Java continues to be the most student-friendly text available. The authors carefully broke the text into smaller, more manageable pieces by reorganizing chapters, allowing student to focus more sharply on the important information at hand. Using Dale and Weems' highly effective "progressive objects" approach ...

  9. Java: An Introduction to Problem Solving and Programmin

    Objects are covered thoroughly and early in the text, with an emphasis on application programs over applets. Updated for Java 7, the Sixth Edition also contains additional programming projects, case studies, and VideoNotes.MyProgrammingLab, Pearson's new online homework and assessment tool, is available with this edition. Contributors.

  10. PDF Introduction to Programming Using Java

    This book can be distributed in unmodified form with no restrictions. Modified versions can be made and distributed provided they are distributed under the same license as the original. More specifically: This work is licensed under the Creative Commons Attribution-Share Alike 2.5 License.

  11. Problem solving with Java : Koffman, Elliot B

    An illustration of an open book. Books. An illustration of two cells of a film strip. Video An illustration of an audio speaker. ... Problem solving with Java by Koffman, Elliot B; Wolz, Ursula; Elliot Koffman. Publication date 2002 ... Pdf_module_version 0.0.20 Ppi 350 Related-external-id urn:isbn:0201357437 urn:lccn:98024943

  12. Java: An Introduction to Problem Solving and Programming, 8th Edition

    For courses in introductory Computer Science courses using Java, and other introductory programming courses in Computer Science, Computer Engineering, CIS, MIS, IT, and Business. A Concise, Accessible Introduction to Java … - Selection from Java: An Introduction to Problem Solving and Programming, 8th Edition [Book]

  13. Java : An Introduction to Problem Solving and Programming

    A Concise, Accessible Introduction to Java: Key Java language features are covered in an accessible manner that resonates with introductory programmers. Tried-and-true Pedagogy: Numerous case studies, programming examples, and programming tips are used to help teach problem-solving and programming techniques.

  14. Java Coding Problems [Book]

    Title: Java Coding Problems. Author (s): Anghel Leonard. Release date: September 2019. Publisher (s): Packt Publishing. ISBN: 9781789801415. Develop your coding skills by exploring Java concepts and techniques such as Strings, Objects and Types, Data Structures and Algorithms, Concurrency, and Functional programming Key Features Solve Java ...

  15. Java: An Introduction to Problem Solving and Programming

    Ideal for a wide range of introductory computer science applications, Java: An Introduction to Problem Solving and Programming, 8th Edition introduces readers to object-oriented programming and important concepts such as design, testing and debugging, programming style, interfaces and inheritance, and exception handling. A concise, accessible ...

  16. [PDF] Java: An Introduction to Problem Solving and ...

    Yes, you can access Java: An Introduction to Problem Solving and Programming, Global Edition by Walter Savitch in PDF and/or ePUB format, as well as other popular books in Computer Science & Web Programming. We have over one million books available in our catalogue for you to explore.

  17. Introduction to programming with Java : a problem solving approach

    An illustration of an open book. Books. An illustration of two cells of a film strip. Video An illustration of an audio speaker. ... Introduction to programming with Java : a problem solving approach by Dean, John, 1962-Publication date 2014 Topics Java (Computer program language) ... Pdf_module_version 0.0.20 Ppi 360 Rcs_key 24143 Republisher_date

  18. [PDF] Java: An Introduction to Problem Solving and ...

    Yes, you can access Java: An Introduction to Problem Solving and Programming PDF ebook, Global Edition by Walter Savitch, Kenrick Mock in PDF and/or ePUB format, as well as other popular books in Computer Science & Programming Languages. We have over one million books available in our catalogue for you to explore.

  19. Java Programming Exercises With Solutions (PDF)

    Download Java Programming Exercises With Solutions (For Beginners) Download Now. If you face any problem in downloading Java Programming Practical Assignments Questions and Solutions PDFs, then tell us in the comment below and you will definitely share this post with your friends so that they can also be of some help. Also Read.

  20. Problem Solving with Java (2nd Edition)

    Problem Solving with Java, 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 ...

  21. Java programming Exercises, Practice, Solution

    Here you have the opportunity to practice the Java programming language concepts by solving the exercises starting from basic to more complex exercises. A sample solution is provided for each exercise. It is recommended to do these exercises by yourself first before checking the solution. Hope, these exercises help you to improve your Java ...

  22. Problem Solving in Data Structures and Algorithms Using Java

    Hemant Jain. Independently Published, Jul 30, 2021 - Computers - 559 pages. Author: Mr. Hemant Jain has worked as a Software Architect at O9 Solutions India. He has over 15 years of experience as a Software Engineer, prior to O9 Solutions he had worked with Adobe Systems India Pvt. Ltd. Noida, Microsoft India R&D Pvt. Ltd. Hyderabad and other ...