Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
100% found this document useful (4 votes)
71 views

Get (eBook PDF) Introduction to Java Programming and Data Structures, Comprehensive Version, 11th Global Edition free all chapters

The document promotes ebookluna.com as a platform for seamless downloads of various eBooks, particularly focusing on Java programming and data structures. It highlights multiple editions of Java programming books available in different formats, including PDF, ePub, and MOBI. Additionally, it outlines the structure and content of a comprehensive Java programming textbook, detailing its chapters and supplementary resources for both students and instructors.

Uploaded by

pakolaaywa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (4 votes)
71 views

Get (eBook PDF) Introduction to Java Programming and Data Structures, Comprehensive Version, 11th Global Edition free all chapters

The document promotes ebookluna.com as a platform for seamless downloads of various eBooks, particularly focusing on Java programming and data structures. It highlights multiple editions of Java programming books available in different formats, including PDF, ePub, and MOBI. Additionally, it outlines the structure and content of a comprehensive Java programming textbook, detailing its chapters and supplementary resources for both students and instructors.

Uploaded by

pakolaaywa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 55

Experience Seamless Full Ebook Downloads for Every Genre at ebookluna.

com

(eBook PDF) Introduction to Java Programming and


Data Structures, Comprehensive Version, 11th
Global Edition

https://ebookluna.com/product/ebook-pdf-introduction-to-
java-programming-and-data-structures-comprehensive-
version-11th-global-edition/

OR CLICK BUTTON

DOWNLOAD NOW

Explore and download more ebook at https://ebookluna.com


Instant digital products (PDF, ePub, MOBI) available
Download now and explore formats that suit you...

(eBook PDF) Introduction to JAVA Programming and Data


Structures Comprehensive Version 11

https://ebookluna.com/product/ebook-pdf-introduction-to-java-
programming-and-data-structures-comprehensive-version-11/

ebookluna.com

(eBook PDF) Introduction to Java Programming, Brief


Version, Global Edition 11th Edition

https://ebookluna.com/product/ebook-pdf-introduction-to-java-
programming-brief-version-global-edition-11th-edition/

ebookluna.com

Introduction to Java Programming, Comprehensive Version


10th edition- eBook PDF

https://ebookluna.com/download/introduction-to-java-programming-
comprehensive-version-ebook-pdf/

ebookluna.com

(eBook PDF) Java Foundations: Introduction to Program


Design and Data Structures 5th Edition

https://ebookluna.com/product/ebook-pdf-java-foundations-introduction-
to-program-design-and-data-structures-5th-edition/

ebookluna.com
(eBook PDF) Data Structures and Abstractions with Java 4th
Global Edition

https://ebookluna.com/product/ebook-pdf-data-structures-and-
abstractions-with-java-4th-global-edition/

ebookluna.com

(eBook PDF) Data Structures and Abstractions with Java 4th


Edition

https://ebookluna.com/product/ebook-pdf-data-structures-and-
abstractions-with-java-4th-edition/

ebookluna.com

Data Structures and Abstractions with Java 5th Edition


(eBook PDF)

https://ebookluna.com/product/data-structures-and-abstractions-with-
java-5th-edition-ebook-pdf/

ebookluna.com

(eBook PDF) Data Structures and Other Objects Using Java


4th Edition

https://ebookluna.com/product/ebook-pdf-data-structures-and-other-
objects-using-java-4th-edition/

ebookluna.com

(eBook PDF) Data Structures and Problem Solving Using Java


4th Edition

https://ebookluna.com/product/ebook-pdf-data-structures-and-problem-
solving-using-java-4th-edition/

ebookluna.com
6 Preface

Part I: Fundamentals of Part II: Object-Oriented Part III: GUI Programming Part IV: Data Structures and Part V: Advanced Java
Programming Programming Algorithms Ch 16 Programming
Chapter 1 Introduction to Chapter 9 Objects and Classes Chapter 14 JavaFX Basics Ch 7 Chapter 18 Recursion Chapter 32 Multithreading and
Computers, Programs, and Parallel Programming
Java
Chapter 10 Thinking in Objects Chapter 15 Event-Driven Ch 13 Chapter 19 Generics
Programming and Chapter 33 Networking
Chapter 2 Elementary Animations
Chapter 11 Inheritance and Chapter 20 Lists, Stacks, Queues,
Programming
Polymorphism and Priority Queues Chapter 34 Java Database
Chapter 16 JavaFX Controls Programming
Chapter 3 Selections and Multimedia
Chapter 12 Exception Chapter 21 Sets and Maps
Handling and Text I/O Chapter 35 Advanced Database
Chapter 4 Mathematical Chapter 31 Advanced JavaFX Programming
Chapter 22 Developping
Functions, Characters, Chapter 13 Abstract Classes and FXML Efficient Algorithms
and Strings and Interfaces Chapter 36 Internationalization
Chapter 23 Sorting
Chapter 5 Loops Chapter 17 Binary I/O Chapter 37 Servlets
Chapter 24 Implementing Lists,
Chapter 6 Methods Stacks, Queues, and Priority Chapter 38 JavaServer Pages
Queues

Chapter 7 Single-Dimensional Chapter 39 JavaServer Faces


Arrays Chapter 25 Binary Search Trees
Chapter 40 RMI
Note: Chapters 1–18 are in the
Chapter 8 Multidimensional Chapter 26 AVL Trees
brief version of this book.
Arrays Chapter 41 Web Services
Note: Chapters 1–30 are in the Chapter 27 Hashing
comprehensive version.

Note: Chapters 31–44 are bonus Chapter 28 Graphs and


chapters available from the Applications
Companion Website.

Chapter 29 Weighted Graphs


and Applications

Chapter 30 Aggregate Operations


and Collection Streams

Chapter 42 2-4 Trees and B-


Trees

Chapter 43 Red-Black Trees Ch 9 Chapter 44 Testing Using JUnit


Preface  7

Organization of the Book


The chapters can be grouped into five parts that, taken together, form a comprehensive introduc-
tion to Java programming, data structures and algorithms, and database and Web programming.
Because knowledge is cumulative, the early chapters provide the conceptual basis for under-
standing programming and guide students through simple examples and exercises; subsequent
chapters progressively present Java programming in detail, culminating with the development
of comprehensive Java applications. The appendixes contain a mixed bag of topics, including an
introduction to number systems, bitwise operations, regular expressions, and enumerated types.

Part I: Fundamentals of Programming (Chapters 1–8)


The first part of the book is a stepping stone, preparing you to embark on the journey of learning
Java. You will begin to learn about Java (Chapter 1) and fundamental programming t­echniques
with primitive data types, variables, constants, assignments, expressions, and operators (­Chapter 2),
selection statements (Chapter 3), mathematical functions, characters, and strings (Chapter 4), loops
(Chapter 5), methods (Chapter 6), and arrays (Chapters 7–8). After ­Chapter 7, you can jump to
Chapter 18 to learn how to write recursive methods for solving inherently recursive problems.

Part II: Object-Oriented Programming (Chapters 9–13, and 17)


This part introduces object-oriented programming. Java is an object-oriented programming
language that uses abstraction, encapsulation, inheritance, and polymorphism to provide
great flexibility, modularity, and reusability in developing software. You will learn program-
ming with objects and classes (Chapters 9–10), class inheritance (Chapter 11), polymorphism
(­Chapter 11), exception handling (Chapter 12), abstract classes (Chapter 13), and interfaces
(Chapter 13). Text I/O is introduced in Chapter 12 and binary I/O is discussed in Chapter 17.

Part III: GUI Programming (Chapters 14–16 and Bonus Chapter 31)
JavaFX is a new framework for developing Java GUI programs. It is not only useful for
developing GUI programs, but also an excellent pedagogical tool for learning object-oriented
programming. This part introduces Java GUI programming using JavaFX in Chapters 14–16.
Major topics include GUI basics (Chapter 14), container panes (Chapter 14), drawing shapes
(Chapter 14), event-driven programming (Chapter 15), animations (Chapter 15), and GUI
­controls (Chapter 16), and playing audio and video (Chapter 16). You will learn the a­ rchitecture
of JavaFX GUI programming and use the controls, shapes, panes, image, and video to develop
useful applications. Chapter 31 covers advanced features in JavaFX.

Part IV: Data Structures and Algorithms (Chapters 18–30 and Bonus Chapters 42–43)
This part covers the main subjects in a typical data structures and algorithms course. Chapter 18
introduces recursion to write methods for solving inherently recursive problems. Chapter 19 presents
how generics can improve software reliability. Chapters 20 and 21 introduce the Java Collection
Framework, which defines a set of useful API for data structures. Chapter 22 discusses measur-
ing algorithm efficiency in order to choose an appropriate algorithm for applications. Chapter 23
describes classic sorting algorithms. You will learn how to implement several classic data struc-
tures lists, queues, and priority queues in Chapter 24. Chapters 25 and 26 introduce binary search
trees and AVL trees. Chapter 27 presents hashing and implementing maps and sets using hashing.
Chapters 28 and 29 introduce graph applications. Chapter 30 introduces aggregate operations for
collection streams. The 2-4 trees, B-trees, and red-black trees are covered in Bonus Chapters 42–43.

Part V: Advanced Java Programming (Chapters 32-41, 44)


This part of the book is devoted to advanced Java programming. Chapter 32 treats the use of
multithreading to make programs more responsive and interactive and introduces parallel pro-
gramming. Chapter 33 discusses how to write programs that talk with each other from different
8 Preface
hosts over the Internet. Chapter 34 introduces the use of Java to develop database projects.
Chapter 35 delves into advanced Java database programming. Chapter 36 covers the use of
internationalization support to develop projects for international audiences. Chapters 37 and
38 introduce how to use Java servlets and JavaServer Pages to generate dynamic content from
Web servers. Chapter 39 introduces modern Web application development using JavaServer
Faces. Chapter 40 introduces remote method invocation and Chapter 41 discusses Web ser-
vices. Chapter 44 introduces testing Java programs using JUnit.

Appendixes
This part of the book covers a mixed bag of topics. Appendix A lists Java keywords. ­Appendix B
gives tables of ASCII characters and their associated codes in decimal and in hex. Appen-
dix C shows the operator precedence. Appendix D summarizes Java modifiers and their usage.
Appendix E discusses special floating-point values. Appendix F introduces number systems and
conversions among binary, decimal, and hex numbers. Finally, Appendix G introduces bitwise
operations. Appendix H introduces regular expressions. Appendix I covers enumerated types.

Java Development Tools


You can use a text editor, such as the Windows Notepad or WordPad, to create Java programs
and to compile and run the programs from the command window. You can also use a Java
development tool, such as NetBeans or Eclipse. These tools support an integrated develop-
ment environment (IDE) for developing Java programs quickly. Editing, compiling, building,
executing, and debugging programs are integrated in one graphical user interface. Using these
tools effectively can greatly increase your programming productivity. NetBeans and Eclipse
IDE tutorials are easy to use if you follow the tutorials. Tutorials on NetBeans and Eclipse can be found in
the supplements on the Companion Website www.pearsonglobaleditions.com/Liang.

Student Resources
The Companion Website (www.pearsonglobaleditions.com/Liang) contains the following
resources:
■■ Answers to CheckPoint questions
■■ Solutions to majority of even-numbered programming exercises
■■ Source code for the examples in the book
■■ Interactive quiz (organized by sections for each chapter)
■■ Supplements
■■ Debugging tips
■■ Video notes
■■ Algorithm animations

Supplements
The text covers the essential subjects. The supplements extend the text to introduce additional
topics that might be of interest to readers. The supplements are available from the Companion
Website.
Preface  9

Instructor Resources
The Companion Website, accessible from www.pearsonglobaleditions.com/Liang, contains the
following resources:
■■ Microsoft PowerPoint slides with interactive buttons to view full-color, syntax-highlighted
source code and to run programs without leaving the slides.
■■ Solutions to a majority of odd-numbered programming exercises.
■■ More than 200 additional programming exercises and 300 quizzes organized by ­chapters.
These exercises and quizzes are available only to the instructors. Solutions to these
­exercises and quizzes are provided.
■■ Web-based quiz generator. (Instructors can choose chapters to generate quizzes from a
large database of more than two thousand questions.)
■■ Sample exams. Most exams have four parts:
■■ Multiple-choice questions or short-answer questions
■■ Correct programming errors
■■ Trace programs
■■ Write programs
■■ Sample exams with ABET course assessment.
■■ Projects. In general, each project gives a description and asks students to analyze, design,
and implement the project.
Some readers have requested the materials from the Instructor Resource Center. Please
understand that these are for instructors only. Such requests will not be answered.

Online Practice and Assessment


with MyProgrammingLab
MyProgrammingLab helps students fully grasp the logic, semantics, and syntax of program-
ming. Through practice exercises and immediate, personalized feedback, MyProgrammingLab
improves the programming competence of beginning students who often struggle with the
basic concepts and paradigms of popular high-level programming languages.
A self-study and homework tool, a MyProgrammingLab course consists of hundreds of small
practice problems organized around the structure of this textbook. For students, the system auto-
matically detects errors in the logic and syntax of their code submissions and offers targeted hints
that enable students to figure out what went wrong—and why. For instructors, a comprehensive
gradebook tracks correct and incorrect answers and stores the code inputted by students for review.
MyProgrammingLab is offered to users of this book in partnership with Turing’s Craft, the
makers of the CodeLab interactive programming exercise system. For a full demonstration,
to see feedback from instructors and students, or to get started using MyProgrammingLab in
your course, visit www.myprogramminglab.com.

Video Notes
We are excited about the new Video Notes feature that is found in this new edition. These VideoNote

videos provide additional help by presenting examples of key topics and showing how
to solve problems completely from design through coding. Video Notes are available from
www.pearsonglobaleditions.com/Liang.
10 Preface

Algorithm Animations
Animation We have provided numerous animations for algorithms. These are valuable pedagogical tools
to demonstrate how algorithms work. Algorithm animations can be accessed from the Com-
panion Website.

Acknowledgments
I would like to thank Armstrong State University for enabling me to teach what I write and for
supporting me in writing what I teach. Teaching is the source of inspiration for continuing to
improve the book. I am grateful to the instructors and students who have offered comments,
suggestions, corrections, and praise. My special thanks go to Stefan Andrei of Lamar Univer-
sity and William Bahn of University of Colorado Colorado Springs for their help to improve
the data structures part of this book.
This book has been greatly enhanced thanks to outstanding reviews for this and previous edi-
tions. The reviewers are: Elizabeth Adams (James Madison University), Syed Ahmed (North
­Georgia College and State University), Omar Aldawud (Illinois Institute of Technology), Ste-
fan Andrei (Lamar University), Yang Ang (University of Wollongong, Australia), Kevin Bierre
(Rochester Institute of Technology), Aaron Braskin (Mira Costa High School), David Champion
(DeVry Institute), James Chegwidden (Tarrant County College), Anup Dargar (University of North
Dakota), Daryl Detrick (Warren Hills Regional High School), Charles Dierbach (Towson Univer-
sity), Frank Ducrest (University of Louisiana at Lafayette), Erica Eddy (University of Wisconsin at
Parkside), Summer Ehresman (Center Grove High School), Deena Engel (New York University),
Henry A. Etlinger (Rochester Institute of Technology), James Ten Eyck (Marist College), Myers
Foreman (Lamar University), Olac Fuentes (University of Texas at El Paso), Edward F. Gehringer
(North Carolina State University), Harold Grossman (Clemson University), Barbara Guillot (Loui-
siana State University), Stuart Hansen (University of Wisconsin, Parkside), Dan Harvey (Southern
Oregon University), Ron Hofman (Red River College, Canada), Stephen Hughes (Roanoke Col-
lege), Vladan Jovanovic (Georgia Southern University), Deborah Kabura Kariuki (Stony Point
High School), Edwin Kay (Lehigh University), Larry King (University of Texas at Dallas), Nana
Kofi (Langara College, Canada), George Koutsogiannakis (Illinois Institute of Technology), Roger
Kraft (Purdue University at Calumet), Norman Krumpe (Miami University), Hong Lin (DeVry
Institute), Dan Lipsa (Armstrong State University), James Madison (Rensselaer Polytechnic Insti-
tute), Frank Malinowski (Darton College), Tim Margush (University of Akron), Debbie Masada
(Sun Microsystems), Blayne Mayfield (Oklahoma State University), John McGrath (J.P. McGrath
Consulting), Hugh McGuire (Grand Valley State), Shyamal Mitra (University of Texas at Austin),
Michel Mitri (James Madison University), Kenrick Mock (University of Alaska Anchorage), Frank
Murgolo (California State University, Long Beach), Jun Ni (University of Iowa), Benjamin N ­ ystuen
(University of Colorado at Colorado Springs), Maureen Opkins (CA State University, Long Beach),
Gavin Osborne (University of Saskatchewan), Kevin Parker (Idaho State University), Dale Par-
son (Kutztown University), Mark Pendergast (Florida Gulf Coast University), Richard Povinelli
(Marquette University), Roger Priebe (University of Texas at Austin), Mary Ann Pumphrey (De
Anza Junior College), Pat Roth (Southern Polytechnic State University), Amr Sabry (Indiana Uni-
versity), Ben Setzer (Kennesaw State University), Carolyn Schauble (Colorado State University),
David Scuse (University of Manitoba), Ashraf Shirani (San Jose State University), Daniel Spiegel
(Kutztown University), Joslyn A. Smith (Florida Atlantic University), Lixin Tao (Pace University),
Ronald F. Taylor (Wright State University), Russ Tront (Simon Fraser University), Deborah ­Trytten
(University of Oklahoma), Michael Verdicchio (Citadel), Kent Vidrine (George Washington Uni-
versity), and Bahram Zartoshty (California State University at Northridge).
It is a great pleasure, honor, and privilege to work with Pearson. I would like to thank Tracy
Johnson and her colleagues Marcia Horton, Demetrius Hall, Yvonne Vannatta, Kristy Alaura,
Carole Snyder, Scott Disanno, Bob Engelhardt, Shylaja Gattupalli, and their colleagues for
organizing, producing, and promoting this project.
As always, I am indebted to my wife, Samantha, for her love, support, and encouragement.
Preface  11

Acknowledgments for the Global Edition


Pearson would like to thank and acknowledge Yvan Maillot (Univresite Haute-Alsace) and
Steven Yuwono (National ­University of Singapore) for contributing to this Global Edition,
and Arif Ahmed (National Institute of Technology, ­Silchar), Annette Bieniusa (University of
Kaiserslautern), Shaligram Prajapat (Devi Ahilya Vishwavidyalaya, Indore), and Ram Gopal
Raj (University of Malaya) for reviewing this Global Edition.
CONTENTS
Chapter 1 I ntroduction to Computers,
­Programs, and Java™ 23
1.1 Introduction 24
1.2 What Is a Computer? 24
1.3 Programming Languages 29
1.4 Operating Systems 31
1.5 Java, the World Wide Web, and Beyond 32
1.6 The Java Language Specification, API, JDK,
JRE, and IDE 33
1.7 A Simple Java Program 34
1.8 Creating, Compiling, and Executing a Java Program 37
1.9 Programming Style and Documentation 40
1.10 Programming Errors 42
1.11 Developing Java Programs Using NetBeans 45
1.12 Developing Java Programs Using Eclipse 47

Chapter 2 Elementary Programming 55


2.1 Introduction 56
2.2 Writing a Simple Program 56
2.3 Reading Input from the Console 59
2.4 Identifiers 62
2.5 Variables 62
2.6 Assignment Statements and Assignment Expressions 64
2.7 Named Constants 65
2.8 Naming Conventions 66
2.9 Numeric Data Types and Operations 67
2.10 Numeric Literals 70
2.11 Evaluating Expressions and Operator Precedence 72
2.12 Case Study: Displaying the Current Time 74
2.13 Augmented Assignment Operators 76
2.14 Increment and Decrement Operators 77
2.15 Numeric Type Conversions 79
2.16 Software Development Process 81
2.17 Case Study: Counting Monetary Units 85
2.18 Common Errors and Pitfalls 87

Chapter 3 Selections 97
3.1 Introduction 98
3.2 boolean Data Type 98
3.3 if Statements 100
3.4 Two-Way if-else Statements 102
3.5 Nested if and Multi-Way if-else Statements 103
3.6 Common Errors and Pitfalls 105
3.7 Generating Random Numbers 109
3.8 Case Study: Computing Body Mass Index 111
3.9 Case Study: Computing Taxes 112
3.10 Logical Operators 115
3.11 Case Study: Determining Leap Year 119
3.12 Case Study: Lottery 120
3.13 switch Statements 122
12
Contents  13
3.14 Conditional Operators 125
3.15 Operator Precedence and Associativity 126
3.16 Debugging 128

Chapter 4 Mathematical Functions,


Characters, and Strings 141
4.1 Introduction 142
4.2 Common Mathematical Functions 142
4.3 Character Data Type and Operations 147
4.4 The String Type 152
4.5 Case Studies 161
4.6 Formatting Console Output 167

Chapter 5 Loops 181


5.1 Introduction 182
5.2 The while Loop 182
5.3 Case Study: Guessing Numbers 185
5.4 Loop Design Strategies 188
5.5 Controlling a Loop with User Confirmation or a Sentinel Value 190
5.6 The do-while Loop 192
5.7 The for Loop 195
5.8 Which Loop to Use? 198
5.9 Nested Loops 200
5.10 Minimizing Numeric Errors 202
5.11 Case Studies 204
5.12 Keywords break and continue 208
5.13 Case Study: Checking Palindromes 211
5.14 Case Study: Displaying Prime Numbers 213

Chapter 6 Methods 227


6.1 Introduction 228
6.2 Defining a Method 228
6.3 Calling a Method 230
6.4 void vs. Value-Returning Methods 233
6.5 Passing Parameters by Values 236
6.6 Modularizing Code 239
6.7 Case Study: Converting Hexadecimals to Decimals 241
6.8 Overloading Methods 243
6.9 The Scope of Variables 246
6.10 Case Study: Generating Random Characters 247
6.11 Method Abstraction and Stepwise Refinement 249

Chapter 7 Single-Dimensional Arrays 269


7.1 Introduction 270
7.2 Array Basics 270
7.3 Case Study: Analyzing Numbers 277
7.4 Case Study: Deck of Cards 278
7.5 Copying Arrays 280
7.6 Passing Arrays to Methods 281
7.7 Returning an Array from a Method 284
7.8 Case Study: Counting the Occurrences of Each Letter 285
7.9 Variable-Length Argument Lists 288
7.10 Searching Arrays 289
7.11 Sorting Arrays 293
14 Contents
7.12 The Arrays Class 294
7.13 Command-Line Arguments 296

Chapter 8 Multidimensional Arrays 311


8.1 Introduction 312
8.2 Two-Dimensional Array Basics 312
8.3 Processing Two-Dimensional Arrays 315
8.4 Passing Two-Dimensional Arrays to Methods 317
8.5 Case Study: Grading a Multiple-Choice Test 318
8.6 Case Study: Finding the Closest Pair 320
8.7 Case Study: Sudoku 322
8.8 Multidimensional Arrays 325

Chapter 9 Objects and Classes 345


9.1 Introduction 346
9.2 Defining Classes for Objects 346
9.3 Example: Defining Classes and Creating Objects 348
9.4 Constructing Objects Using Constructors 353
9.5 Accessing Objects via Reference Variables 354
9.6 Using Classes from the Java Library 358
9.7 Static Variables, Constants, and Methods 361
9.8 Visibility Modifiers 366
9.9 Data Field Encapsulation 368
9.10 Passing Objects to Methods 371
9.11 Array of Objects 375
9.12 Immutable Objects and Classes 377
9.13 The Scope of Variables 379
9.14 The this Reference 380

Chapter 10 Object-Oriented Thinking 389


10.1 Introduction 390
10.2 Class Abstraction and Encapsulation 390
10.3 Thinking in Objects 394
10.4 Class Relationships 397
10.5 Case Study: Designing the Course Class 400
10.6 Case Study: Designing a Class for Stacks 402
10.7 Processing Primitive Data Type Values as Objects 404
10.8 Automatic Conversion between Primitive Types
and Wrapper Class Types 407
10.9 The BigInteger and BigDecimal Classes 408
10.10 The String Class 410
10.11 The StringBuilder and StringBuffer Classes 416

Chapter 11 Inheritance and


Polymorphism 433
11.1 Introduction 434
11.2 Superclasses and Subclasses 434
11.3 Using the super Keyword 440
11.4 Overriding Methods 443
11.5 Overriding vs. Overloading 444
11.6 The Object Class and Its toString() Method 446
11.7 Polymorphism 447
11.8 Dynamic Binding 447
11.9 Casting Objects and the instanceof Operator 451
11.10 The Object’s equals Method 455
Contents  15
11.11 The ArrayList Class 456
11.12 Useful Methods for Lists 462
11.13 Case Study: A Custom Stack Class 463
11.14 The protected Data and Methods 464
11.15 Preventing Extending and Overriding 467

Chapter 12 Exception Handling


and Text I/O 475
12.1 Introduction 476
12.2 Exception-Handling Overview 476
12.3 Exception Types 481
12.4 More on Exception Handling 484
12.5 The finally Clause 492
12.6 When to Use Exceptions 493
12.7 Rethrowing Exceptions 494
12.8 Chained Exceptions 495
12.9 Defining Custom Exception Classes 496
12.10 The File Class 499
12.11 File Input and Output 502
12.12 Reading Data from the Web 508
12.13 Case Study: Web Crawler 510

Chapter 13 Abstract Classes and Interfaces 521


13.1 Introduction 522
13.2 Abstract Classes 522
13.3 Case Study: the Abstract Number Class 527
13.4 Case Study: Calendar and GregorianCalendar 529
13.5 Interfaces 532
13.6 The Comparable Interface 535
13.7 The Cloneable Interface 540
13.8 Interfaces vs. Abstract Classes 545
13.9 Case Study: The Rational Class 548
13.10 Class-Design Guidelines 553

Chapter 14 JavaFX Basics 563


14.1 Introduction 564
14.2 JavaFX vs Swing and AWT 564
14.3 The Basic Structure of a JavaFX Program 564
14.4 Panes, Groups, UI Controls, and Shapes 567
14.5 Property Binding 570
14.6 Common Properties and Methods for Nodes 573
14.7 The Color Class 575
14.8 The Font Class 576
14.9 The Image and ImageView Classes 578
14.10 Layout Panes and Groups 580
14.11 Shapes 589
14.12 Case Study: The ClockPane Class 602

Chapter 15 Event-Driven Programming


and Animations 615
15.1 Introduction 616
15.2 Events and Event Sources 618
15.3 Registering Handlers and Handling Events 619
15.4 Inner Classes 623
15.5 Anonymous Inner Class Handlers 624
16 Contents
15.6 Simplifying Event Handling Using Lambda Expressions 627
15.7 Case Study: Loan Calculator 631
15.8 Mouse Events 633
15.9 Key Events 635
15.10 Listeners for Observable Objects 638
15.11 Animation 640
15.12 Case Study: Bouncing Ball 648
15.13 Case Study: US Map 652

Chapter 16 JavaFX UI Controls


and Multimedia 665
16.1 Introduction 666
16.2 Labeled and Label 666
16.3 Button 668
16.4 CheckBox 670
16.5 RadioButton 673
16.6 TextField 676
16.7 TextArea 677
16.8 ComboBox 681
16.9 ListView 684
16.10 ScrollBar 687
16.11 Slider 690
16.12 Case Study: Developing a Tic-Tac-Toe Game 693
16.13 Video and Audio 698
16.14 Case Study: National Flags and Anthems 701

Chapter 17 Binary I/O 713


17.1 Introduction 714
17.2 How Is Text I/O Handled in Java? 714
17.3 Text I/O vs. Binary I/O 715
17.4 Binary I/O Classes 716
17.5 Case Study: Copying Files 726
17.6 Object I/O 728
17.7 Random-Access Files 733

Chapter 18 Recursion 741


18.1 Introduction 742
18.2 Case Study: Computing Factorials 742
18.3 Case Study: Computing Fibonacci
Numbers 745
18.4 Problem Solving Using Recursion 748
18.5 Recursive Helper Methods 750
18.6 Case Study: Finding the Directory Size 753
18.7 Case Study: Tower of Hanoi 755
18.8 Case Study: Fractals 758
18.9 Recursion vs. Iteration 762
18.10 Tail Recursion 762

Chapter 19 Generics 773


19.1 Introduction 774
19.2 Motivations and Benefits 774
19.3 Defining Generic Classes and Interfaces 776
19.4 Generic Methods 778
19.5 Case Study: Sorting an Array of Objects 780
Contents  17
19.6 Raw Types and Backward Compatibility 782
19.7 Wildcard Generic Types 783
19.8 Erasure and Restrictions on Generics 786
19.9 Case Study: Generic Matrix Class 788

Chapter 20 L
 ists, Stacks, Queues, and
Priority Queues 797
20.1 Introduction 798
20.2 Collections 798
20.3 Iterators 802
20.4 Using the forEach Method 803
20.5 Lists 804
20.6 The Comparator Interface 809
20.7 Static Methods for Lists and Collections 813
20.8 Case Study: Bouncing Balls 816
20.9 Vector and Stack Classes 820
20.10 Queues and Priority Queues 821
20.11 Case Study: Evaluating Expressions 825

Chapter 21 Sets and Maps 837


21.1 Introduction 838
21.2 Sets 838
21.3 Comparing the Performance of Sets and Lists 846
21.4 Case Study: Counting Keywords 849
21.5 Maps 850
21.6 Case Study: Occurrences of Words 855
21.7 Singleton and Unmodifiable Collections and Maps 857

Chapter 22 Developing Efficient


Algorithms 861
22.1 Introduction 862
22.2 Measuring Algorithm Efficiency Using Big O Notation 862
22.3 Examples: Determining Big O 864
22.4 Analyzing Algorithm Time Complexity 868
22.5 Finding Fibonacci Numbers Using Dynamic
Programming 871
22.6 Finding Greatest Common Divisors Using Euclid’s
Algorithm 873
22.7 Efficient Algorithms for Finding Prime Numbers 877
22.8 Finding the Closest Pair of Points Using
Divide-and-Conquer 883
22.9 Solving the Eight Queens Problem Using Backtracking 886
22.10 Computational Geometry: Finding a Convex Hull 889

Chapter 23 Sorting 903


23.1 Introduction 904
23.2 Insertion Sort 904
23.3 Bubble Sort 906
23.4 Merge Sort 909
23.5 Quick Sort 912
23.6 Heap Sort 916
23.7 Bucket and Radix Sorts 923
23.8 External Sort 925
18 Contents

Chapter 24 I mplementing Lists, Stacks,


Queues, and Priority Queues 939
24.1 Introduction 940
24.2 Common Operations for Lists 940
24.3 Array Lists 944
24.4 Linked Lists 951
24.5 Stacks and Queues 965
24.6 Priority Queues 969

Chapter 25 Binary Search Trees 975


25.1 Introduction 976
25.2 Binary Search Trees 976
25.3 Deleting Elements from a BST 989
25.4 Tree Visualization and MVC 995
25.5 Iterators 998
25.6 Case Study: Data Compression 1000

Chapter 26 AVL Trees 1011


26.1 Introduction 1012
26.2 Rebalancing Trees 1012
26.3 Designing Classes for AVL Trees 1015
26.4 Overriding the insert Method 1016
26.5 Implementing Rotations 1017
26.6 Implementing the delete Method 1018
26.7 The AVLTree Class 1018
26.8 Testing the AVLTree Class 1024
26.9 AVL Tree Time Complexity Analysis 1027

Chapter 27 Hashing 1031


27.1 Introduction 1032
27.2 What Is Hashing? 1032
27.3 Hash Functions and Hash Codes 1033
27.4 Handling Collisions Using Open Addressing 1035
27.5 Handling Collisions Using Separate Chaining 1039
27.6 Load Factor and Rehashing 1039
27.7 Implementing a Map Using Hashing 1041
27.8 Implementing Set Using Hashing 1050

Chapter 28 Graphs and Applications 1061


28.1 Introduction 1062
28.2 Basic Graph Terminologies 1063
28.3 Representing Graphs 1064
28.4 Modeling Graphs 1070
28.5 Graph Visualization 1080
28.6 Graph Traversals 1083
28.7 Depth-First Search (DFS) 1084
28.8 Case Study: The Connected Circles Problem 1088
28.9 Breadth-First Search (BFS) 1090
28.10 Case Study: The Nine Tails Problem 1093
Contents  19

Chapter 29 W
 eighted Graphs and
Applications 1107
29.1 Introduction 1108
29.2 Representing Weighted Graphs 1109
29.3 The WeightedGraph Class 1111
29.4 Minimum Spanning Trees 1119
29.5 Finding Shortest Paths 1125
29.6 Case Study: The Weighted Nine Tails Problem 1134

Chapter 30 
Aggregate Operations
for Collection Streams 1145
30.1 Introduction 1146
30.2 Stream Pipelines 1146
30.3 IntStream, LongStream, and DoubleStream 1152
30.4 Parallel Streams 1155
30.5 Stream Reduction Using the reduce Method 1157
30.6 Stream Reduction Using the collect Method 1160
30.7 Grouping Elements Using the groupingby Collector 1163
30.8 Case Studies 1166

Chapter 31–44 are available from the Companion Website at


www.pearsonglobaleditions.com/Liang

Chapter 31 Advanced JavaFX and FXML


Chapter 32 Multithreading and Parallel
Programming
Chapter 33 Networking
Chapter 34 Java Database Programming
Chapter 35 Advanced Java Database Programming
Chapter 36 Internationalization
Chapter 37 Servlets
Chapter 38 JavaServer Pages
Chapter 39 JavaServer Faces
Chapter 40 Remote Method Invocation
Chapter 41 Web Services
Chapter 42 2-4 Trees and B-Trees
Chapter 43 Red-Black Trees
Chapter 44 Testing Using JUnit
20 Contents

Appendixes 1177
Appendix A Java Keywords 1179
Appendix B The ASCII Character Set 1180
Appendix C Operator Precedence Chart 1182
Appendix D Java Modifiers 1184
Appendix E Special Floating-Point Values 1186
Appendix F Number Systems 1187
Appendix G Bitwise Operations 1191
Appendix H Regular Expressions 1192
Appendix I Enumerated Types 1197

Quick Reference 1203


Index 1205
VideoNotes
Locations of VideoNotes
VideoNote
www.pearsonglobaleditions.com/Liang

Chapter 1 Introduction to Computers, Programs, Coupon collector’s problem 304


and Java™ 23 Consecutive four 306
Your first Java program 34
Compile and run a Java program 39 Chapter 8 Multidimensional Arrays 311
NetBeans brief tutorial 45 Find the row with the largest sum 316
Eclipse brief tutorial 47 Grade multiple-choice test 318
Sudoku 322
Chapter 2 Elementary Programming 55 Multiply two matrices 331
Obtain input 59 Even number of 1s 338
Use operators / and % 74
Software development Chapter 9 Objects and Classes 345
process 81 Define classes and objects 346
Compute loan payments 82 Use classes 358
Compute BMI 94 Static vs. instance 361
Data field encapsulation 368
Chapter 3 Selections 97 The this keyword 380
Program addition quiz 99 The Fan class 386
Program subtraction quiz 109
Use multi-way if-else Chapter 10 Object-Oriented Thinking 389
statements 112 The Loan class 391
Sort three integers 132 The BMI class 394
Check point location 134 The StackOfIntegers class 402
Process large numbers 408
Chapter 4 Mathematical Functions, Characters, The String class 410
and Strings 141 The MyPoint class 424
Introduce Math functions 142
Introduce strings and objects 152 Chapter 11 Inheritance and Polymorphism 433
Convert hex to decimal 165 Geometric class hierarchy 434
Compute great circle distance 173 Polymorphism and dynamic
Convert hex to binary 176 binding demo 448
The ArrayList class 456
Chapter 5 Loops 181 The MyStack class 463
Use while loop 182 New Account class 470
Guess a number 185
Multiple subtraction quiz 188 Chapter 12 Exception Handling and Text I/O 475
Use do-while loop 192 Exception-handling advantages 476
Minimize numeric errors 202 Create custom exception classes 496
Display loan schedule 219 Write and read data 502
Sum a series 220 HexFormatException 515

Chapter 6 Methods 227 Chapter 13 Abstract Classes and Interfaces 521


Define/invoke max method 230 Abstract GeometricObject class 522
Use void method 233 Calendar and Gregorian
Modularize code 239 Calendar classes 529
Stepwise refinement 249 The concept of interface 532
Reverse an integer 258 Redesign the Rectangle class 558
Estimate p 261
Chapter 14 JavaFX Basics 563
Chapter 7 Single-Dimensional Arrays 269 Getting started with JavaFX 564
Random shuffling 274 Understand property binding 570
Deck of cards 278 Use Image and ImageView 578
Selection sort 293 Use layout panes 580
Command-line arguments 297 Use shapes 589
21
22 VideoNotes
Display a tic-tac-toe board 608 Tic-Tac-Toe 693
Display a bar chart 610 Use Media, MediaPlayer,
and MediaView 698
Chapter 15 Event-Driven Programming Use radio buttons and text fields 705
and Animations 615 Set fonts 707
Handler and its registration 622
Anonymous handler 625 Chapter 17 Binary I/O 713
Move message using the Copy file 726
mouse 634 Object I/O 728
Animate a rising flag 640 Split a large file 738
Flashing text 646
Simple calculator 656 Chapter 18 Recursion 741
Check mouse-point location 658 Binary search 752
Display a running fan 661 Directory size 753
Fractal (Sierpinski triangle) 758
Chapter 16 JavaFX UI Controls and Multimedia 665 Search a string in a directory 769
Use ListView 684 Recursive tree 772
Use Slider 690

Animations

Chapter 7 Single-Dimensional Arrays 269 radix sort on Companion


linear search animation on Website 924
Companion Website 290
binary search animation on Chapter 24 Implementing Lists, Stacks,
Companion Website 290 Queues, and Priority Queues 939
selection sort animation on list animation on Companion
Companion Website 293 Website 940
stack and queue animation on
Chapter 8 Multidimensional Arrays 311 Companion Website 965
closest-pair animation on
the Companion Website 320 Chapter 25 Binary Search Trees 975
BST animation on
Chapter 22 Developing Efficient Algorithms 861 Companion Website 976
binary search animation on
the Companion Website 868 Chapter 26 AVL Trees 1011
selection sort animation on AVL tree animation on
the Companion Website 868 Companion Website 1012
closest-pair animation on
Companion Website 883 Chapter 27 Hashing 1031
Eight Queens animation on linear probing animation on
the Companion Website 886 Companion Website 1036
convex hull animation on quadratic probing animation on
the Companion Website 889 Companion Website 1037
separate chaining animation on
Chapter 23 Sorting 903 Companion Website 1040
insertion-sort animation on
Companion Website 904 Chapter 28 Graphs and Applications 1061
bubble sort animation on the graph learning tool on
Companion Website 907 Companion Website 1064
merge animation on Companion U.S. Map Search 1086
Website 911 Chapter 29 Weighted Graphs and
partition animation on Applications 1107
Companion Website 915 weighted graph learning tool
heap animation on Companion animation on Companion Website 1108
Website 917
Chapter

1
Introduction
to Computers,
Programs, and Java™
Objectives
■■ To understand computer basics, programs, and operating systems
(§§1.2–1.4).
■■ To describe the relationship between Java and the World Wide Web
(§1.5).
■■ To understand the meaning of Java language specification, API, JDK™,
JRE™, and IDE (§1.6).
■■ To write a simple Java program (§1.7).
■■ To display output on the console (§1.7).
■■ To explain the basic syntax of a Java program (§1.7).
■■ To create, compile, and run Java programs (§1.8).
■■ To use sound Java programming style and document programs properly
(§1.9).
■■ To explain the differences between syntax errors, runtime errors, and
logic errors (§1.10).
■■ To develop Java programs using NetBeans™ (§1.11).
■■ To develop Java programs using Eclipse™ (§1.12).
Random documents with unrelated
content Scribd suggests to you:
The Project Gutenberg eBook of Remusen
kotiripitykset
This ebook is for the use of anyone anywhere in the United States
and most other parts of the world at no cost and with almost no
restrictions whatsoever. You may copy it, give it away or re-use it
under the terms of the Project Gutenberg License included with this
ebook or online at www.gutenberg.org. If you are not located in the
United States, you will have to check the laws of the country where
you are located before using this eBook.

Title: Remusen kotiripitykset


Ilveily yhdessä näytöksessä

Author: Gustav von Moser

Release date: May 14, 2024 [eBook #73625]

Language: Finnish

Original publication: Kuopio: U. W. Telén & Co, 1909

Credits: Tapio Riikonen

*** START OF THE PROJECT GUTENBERG EBOOK REMUSEN


KOTIRIPITYKSET ***
REMUSEN KOTIRIPITYKSET

Ilveily yhdessä näytöksessä

Kirj.

G. von Moser

Kuopiossa, U. W. Telén & Co, 1909.


JÄSENET:

Evert Kauppi, nuori kauppamies Amalia, hänen vaimonsa. Hilarius,


asioitsija. Remunen, kauppias Mikkelistä. Mimmi, hänen vaimonsa.
Palvelija. Tavarankantaja.

Odotussali rautatieasemalla; holvimainen käytävä tahi suuret


lasiovet perällä. Oikealla ja vasemmalla sivuovet. Oikealla naisten
salonki. Lähempänä katsojia oikealla puolella pöytä ja tuoleja.
Pöydällä kello. Vasemmalla sohva ja tuoleja. Perempänä, niinikään
vasemmalla puolella, pöytä ja tuoleja. Keskellä suuri pyöreä pöytä ja
tuoleja. Pöydällä sanomalehtiä.

Esiripun kohottua istuu perempänä olevan, oikeanpuolisen pöydän


ääressä kaksi naista, jotka puhelevat keskenään; vasemmalla eräs
herra, lukien sanomalehtiä. Evertin tultua menevät naiset pois
oikean-, herra vasemmanpuolisesta ovesta. Nähtävästi ovat nämä
jäsenet ainoastaan kappaleen elähyttämistä, eivätkä ollenkaan itse
toimintaa varten, joten siis voivat jäädä poiskin. Takalistosta kuuluu
kellon helinää ja lokomotiivin vihellyksiä.
ENSIMÄINEN KOHTAUS.

Kauppi, Amalia ja Kantaja.

(Evert ja Amalia muodinmukaisissa matkavaatteissa tulevat


sisään keskiovesta. Kumpikin heistä kantaa pientä
matkasäkkiä. Heidän jälessään käy kantaja matkalaukku
kädessä.)

Evert. Jumalan kiitos, armaani, että matka kyytihevosilla on


viimeinkin loppunut! (Panee pois matkasäkin).

Amalia. Olenpa ininäkin uuvuksissa!

Evert (kantajalle). Saammeko me vielä kauankin odottaa junaa?

Kantaja. Yhden tunnin, herra. Kas niin, tässä on matkalaukkunne,


muut tavarat ovat tuolla ulkona, kunnes juna tulee.

Evert. Hyvä — kas tässä; (antaa hänelle rahaa) toimittakaa meille


myös piletit (menee kantajan kanssa peremmälle) ja tässä on teille
vaivoistanne.

Amalia (on astunut etupuolelle pöydän luo ja panee pois


matkasäkin). Täällä on kaikki niinkuin ennenkin, muuttumatta! Voi,
kuinka tämä huone muistuttaa minua meidän häämatkastamme!
Siitä on nyt kulunut jo kokonainen vuosi, ihan ummelleen vuosi.

Kantaja. Kiitoksia paljon, herra! (Menee.)

Amalia. Muisteleelcohan Evertkin, että tänään vuosi sitten olimme


myös täällä alkaaksemme yhteistä matkaamme elämän ulapalla?
(Istuikse.)
Evert (lähenee Amaliaa). Kas niin, kultamuruseni — levähdä nyt
hiukan. Saanko käskeä sinulle virvoketta? Saamme odottaa vielä
kokonaisen tunnin.

Amalia. Kiitos kaunis, hyvä Evert! — Sinä olet aina niin kiltti.
(Ojentaa hänelle kätensä.)

Evert. No, mitäpä tuosta — sehän on suurin huvitukseni. Mutta —


katsos vaan — siinähän on jo tämänpäiväinen lehtikin! (Ottaa
lehden.) Onpa niinkin — torstaina —

Amalia. Aiotko nyt ruveta lukemaan?

Evert. En, minä silmäilen vaan — noin viimeisimmät kurssit.


(Lukee istuen keskimmäisen pöydän ääressä.)

Amalia. Kummallista, että miesten päässä pyörivät aina vaan


heidän asiansa, ja meidät unhottavat he kokonaan.

Evert (lukien). Italian kurssi kohoaa — sepä merkillistä, se.

Amalia (puoliääneen itsekseen). Minusta nähden ei ollenkaan.

Evert. Amerikan — hm, seisoo kuin naulattuna paikallaan —


kolmen viikon kuluessa ei ole liikahtanutkaan.

Amalia (erikseen). Ei sekään liikuta minua. Vuosi takaperin tästä


päivästä hän ei ajatellut amerikkalaisia, eikä italialaisiakaan.

Evert (lukien). Mitä sinä sanoit?

Amalia. Minäkö — ajattelin vaan, mikähän kurssi oli vuosi sitten?

Evert. Amerikanko?
Amalia. No vaikkapa Amerikankin, sama se minusta — mutta
ummelleen vuosi sitten — kenties muistatkin?

Evert. Ummelleen vuosi sitten — mitenkä se nyt juolahtikaan


päähäsi? Mutta maltappas (aprikoiden). Heinäkuussa — mennä
vuonna heinäkuussa.

Amalia (itsekseen). Aha — hääpäivään ne kurssit sittenkin


päättyvät.

Evert. Heinäkuussa — heinäkuussa — oikein — möin silloin koko


joukon venäläisiä 5 %:n maan lunastusseteleitä ja ostin muutamia
Etelä-Suomen höyrylaivayhtiön osakkeita. Mutta aivan varmaan
tiedän, että ultimo elokuussa —

Amalia (keskeyttäen). Ei, ei elokuussa. Minä tarkotan heinäkuuta


— pysykäämme nyt vaan heinäkuussa —.

Evert. Mutta sehän on merkillistä — heinäkuussa —

Amalia. Niin juuri! Jollen erehdy, matkustimme silloin —

Evert (tuijottaen lehteen). Vai niin — onpa sekin kysymys:


arvopaperiako, vaiko puhdasta rahaa? Hm, erotus ei ole tosin aina
suuri, mutta onpa siinä erotusta kuitenkin. Ymmärräthän?

Amalia. Arvopaperi ja puhdas raha eivät liikuta minua; tuumin yhä


vaan, mikä kurssi oli viime vuonna heinäkuussa.

Evert. Aina vaan heinäkuussa. Viime heinäkuussahan oli meillä


häät — —
Amalia (iloissaan). Häät! Katsoppas, Evert, enkö ollut nyt oikein
näppärä?

Evert. Näppäräkö? Hyvänen aika — etköhän vaan pannut salaa


jotakuta rahasummaa Yhdyspankkiin — vaimo parka — silloin olisit
saanut aika tappion.

Amalia (pahoillaan). Joutavia — enhän minä edes ajatellutkaan


sellaista.

Evert. Etkö? Nyt tuntuu, kuin olisi taakka pudonnut hartioiltani.


Mutta onko se aivan varma?

Amalia. Ihan varma — tahdoin vaan saada sinut muistelemaan.

Evert (neuvovalla äänellä). Rakas lapsi! Tee minulle mieliksi, älä


koskaan osta äläkä myy mitään arvopapereita minun tietämättäni! Et
voi uskoa, kuinka siitä saattaa toisinaan saada turkkiinsa.

Amalia. Mutta minä tahdoinkin vaan —

Evert. Se on sinun välttämättömästi luvattava minulle — sillä


nykyjään muuttelevat kurssit ihan hirveästi. Kuules vain — (Lukee
joitakuita kurssi-ilmotuksia.)

Amalia. Voi tuota miestä! (Ääneen.) Mutta kuulehan minua toki,


Evert!

Evert (lukemiseen syventyneenä. Ulkoa kuuluu lokomotiivin


vihellyksiä.) Hm — kyllä minä kuulen — kuulen —

Amalia. Eikö lainkaan muistunut mieleesi, että ummelleen vuosi


sitten istuimme juuri samalla paikalla, juuri tässä näin? Tuossa noin
sanoit minulle: Amalia, sinä olet minulle tuonut paratiisin maan
päälle — en voi tulla enää onnellisemmaksi! Maailma, sanoit sinä, on
suuri näkinkenkä, jossa sinä vaan olet ainoa helmi… Mutta ethän
sinä kuulekaan minua?!

Evert. Kuulen kyllä, — sanoit äskettäin: paratiisi on suuri


näkinkenkä. (Lukee edelleen lehteä.)

Amalia. Voi meitä vaimoparkoja, me vasta olemme raukkoja — niin


ne miehet muuttuvat ja nyt vasta vuosi hääpäivästämme —
mitenkähän sitten vastedes käynee! (Pitää liinaa silmiensä edessä ja
nyyhkii.)

Evert. Mitä nyt — mitä nyt on tapahtunut oikeinhan sinä itket!

Amalia (itkien). Puhuin sinulle kokonaisen tunnin etkä sinä


huolinut kuulla minua edes minuuttiakaan. —

Evert (panee pois lehden). Kokonaisen tunnin, enkelini —


emmehän ole olleet tässä kuin korkeintaan viisi minuuttia, — mutta
lakkaa jo, kuuntelen nyt sinua, — mitä sinä juttelitkaan?

Amalia, Puhuin siitä, että tänään vuosi sitten olimme me myös


täällä, juuri tässä näin. Tulimme silloin, istuimme tähän ja —

Evert. Ja söimme suuruksen! Oikein, täällä haukkasimme me


pihvin, — nyt muistan vallan hyvästi! (Nousee ja soittaa kelloa.)

Amalia. Ei — nyt menet sinä jo liian pitkälle.

(Palvelija tulee)

Evert (palvelijalle). Laittakaa pihvipaisti!


Palvelija. Heti paikalla, herra! (Menee.)

Amalia. Sinä olet tänään ihan — sietämätön.

Evert. Minäkö sietämätön?

Amalia. Niin juuri, sinä itse. Siinä ei ollut tarpeeksi, että sain niin
paljon vaivata itseäni, vieläpä ihan turhaan — muistuttaakseni sinua
niistä hetkistä, joita itse sanoit mitä ihanimmiksi — minun täytyy
vielä kärsiä sitäkin, että paljon paremmin muistat jonkun pihvin kuin
noita aikoja —

Evert. Mutta Amalia kulta, minä —

Amalia. Älä koetakkaan puolustaa itseäsi, tunnen sinut kuin viisi


sormeani. — Tiedän nyt ihan selvästi olevani raakalaisen
hirmuvaltiaan uhri. (Purskahtaa itkuun).

Evert (sivulle). Onko mokomata kuultu! (Ääneen.) Pyydän sinua,


hyvä lapsi, — ole nyt toki viisas — äläkä itke — en voinut
aavistaakaan, että sinä olet niin herkkähermoinen! —

Amalia. Turhaa onkin itkuni. En tahdo itkeä, enkä ole


herkkähermoinenkaan — olen vaan onnettomin vaimo maailmassa.
Etkä sinä suinkaan nainut minua rakkaudesta — silloin et olisi niin
pian unhottanut kaikkea — ne tytöt ovat olleet todellakin minua
viisaammat, jotka ovat antaneet sinulle rukkaset, — mutta sitten iskit
sinä kyntesi kuin haukka minuun kyyhkysraukkaan.

Evert (ivallisesti). Vai kyyhky.

Amalia. Sinun kanssasi tulee lampaastakin susi. Meidän


vaimoraukkojen tulee aina vaan vaieta, vaikka te marmattaisitte
päivät pitkät.

Evert. Enhän minä puhunut sanaakaan.

Amalia. Ja kun me joskus avaamme suumme puolustukseksi, niin


sanotaan meitä heti harakoiksi.

Evert. Kas niin, nyt alkavat kotiripitykset.

Amalia (yhä enemmän kiihtyneenä). Kotiripityksetkö? Sinä tiedät


kuinka tuo sana leikkaa sydäntäni, sillä minä en ripitä koskaan sinua.
Mutta kas sinä osaat ärsyttää hermojani ja kääntää jok'ainoan
lempeän sanan pahaksi. Kun sinä edes kerrankin sanoisit minulle
jonkun hyvän sanan, puhuisin minäkin tyynesti —

Evert (erikseen). Enhän minä saa sananvuoroakaan.

Amalia. Mutta siinä seisot sinä vaan ja mulistelet silmiäsi, kuin


marttyyri — minä vaan olen se lohikäärme, joka sinua raatelee —
kun minä kuitenkin olen itse kärsivällisyys! Mutta te miehet voitte
katsoa meitä säälimättä, vaikka meidän sydämemmekin verta
vuotaisi, kun teillä on vaan pihvipaistia.

Evert (koomillisella epätoivolla). Siinäkö nyt ollaan taas!

Amalia. Mutta kauan ei minun heikko terveyteni sellaista siedä, ja


minä tunnen jo kuinka nämä kiihotukset kaluavat elämääni.

Evert (erikseen). Ahaa — nyt hyppää hän heti paikalla jo hautaan.

Amalia (jatkaen). Tämä ankara sydämmentykytys saa viimein


aikaan sydänhalvauksen. Se ei kestä kauan, — ja tunnen jo voimani
heikkenevän, — mutta se onkin minulle parempi, kuin elää ypö
yksinään, — hyljättynä, — ilman rakkautta, kukahan ei minun
sijassani tahtoisi kernaammin päästä kaikista vaivoista ja levätä
kuusi kyynärää maan alla!

Evert (ironisesti). Oikein! Kuusi kyynärää maan alla!

Amalia. Voi, voi sentään! (Itkee.)

Evert. Nyt. olemme päässeet jo loppuun. Nämä ripitykset ovat


yhtähyvin aika ikäviä. (Kuuluu lokomotiivin vihellyksiä.) Kas — tuolta
tulee ihmisiä — Amalia — Mali — Ami lakkaa jo itkemästä!

Amalia (tihkuen). En!

Evert. Minä pyydän sinua, — mitähän vieraat ihmiset


ajattelevatkaan meistä!

Amalia. Ajatelkoot mitä hyvänsä! Min' en luovu ainoasta


lohdutuksestani — kyyneleistäni.

Evert. Minä pyydän sinua, Ami kulta, olehan nyt toki järkevä.
(Asettuu niin että hän estää tulijoita näkemästä Amaliaa.)
Nauravathan he meille. (Vaunun kolinaa, kellonhelinää, vihellyksiä.)

TOINEN KOHTAUS.

Samat. Hilarius. Serafina. Kantaja.

Hilarius (matkavaatteissa, valkoinen kappa, valkoinen lakki,


kantaen matkasäkkiä, kantajalle). Kuulkaapas hyvä ystävä, minä,
tahi oikeammin vaimoni on hävittänyt tavaralipun; pitäkää te nyt
huolta siitä, että saisin ne molemmat kapsäkit, joita teille osoitin.
Kantaja. Kyllä, herra!

Hilarius. Niin saatte kelpo juomarahat.

Kantaja. Kiitos, herra! (Menee.)

Palvelija (Kaupille.) Pöytä on katettu. (Menee.)

Evert. Hyvä! Tule Ami kulta, — olehan nyt toki järkevä.

Amalia. Minä olen aina järkevä.

Evert (viepi vaimonsa vasemmanpuolisesta ovesta). Oletpa kyllä —


kyllä. (Tervehtien Hilariusta.) Ah — hyvää päivää herra Hilarius!

Hilarius. Päivää, herra Kauppi!

KOLMAS KOHTAUS.

Hilarius. Serafina.

Serafina (vasemmanpuolisen pöydän luona, haparoi taskujaan). En


voi ollenkaan ymmärtää, mihin kummaan panin tavaralipun.

Hilarius. Vai niin — olisipa se vaan ollut minulla, niin —

Serafina. Mutta se olikin vaan sellainen pieni lippu!

Hilarius. Pieni lippu. Eihän tavaralippuja sovi laittaa niin suuriksi,


kuin sinun matkasäkkisi ovat, ja — hävittäisit sinä ne sittenkin.

Serafina. Juurikuin minä en tekisikään muuta, kuin aina vaan


hävitän. Tämä on vasta ensimmäinen kerta eläissäni ja sinä olet jo
hävittänyt paljoa enemmän.
Hilarius. No — no — no, älähän toki kiivastu! Sanoinhan sinulle,
että olen itse siihen syypää, kuin annoin sen sinulle. Ei sinun ole
siihen syytä ollenkaan. Ethän sinä vaatine multa sen enempää?

Serafina. Kyllä tiedän jo mitä tarkoitat, juuri kuin en tekisi muuta


kuin vahinkoa, — juuri kuin en ymmärtäisi tehdäkään muuta kuin
vahinkoa. Hoho, jollei minua olisi, niin kuinkahan pitkälle olisit
päässyt, sinä, joka et ymmärrä järjestyksestä niin mitään? Mutta
hyvistä töistäni et puhu sanaakaan, vaan kas kun rupattamaan
rupeat, kyllä sinulla sitten sanoja on kuin paraassa sanakirjassa.

Hilarius. Mutta teehän nyt minulle mieliksi, ja anna minun edes


kerrankin olla oikeassa.

Serafina (-päättävästi). En!

Hilarius. No tämähän vasta veikeätä on. Hän hävittää lipun, minä


otan syyn päälleni, sanon: se on minun syyni, se — siis minähän
olen sen oikeastaan hävittänytkin, — ja hän ei ole tyytyväinen
sittenkään. Voi sinua, muoriseni, kuitenkin!

Serafina. Kas, nyt olet mielestäsi taas onnettomin mies auringon


alla! — Katsokaa poloista, katsokaa ristinkantajaa — niin, niin,
murise nyt vaan tuolla lailla! — Sinä olet erittäin kunnollinen mies,
aivan moitteeton, sinussa ei ole vikaa vähääkään ja sinulla on vaan
se onnettomuus, että olet nainut! —

Hilarius (kuivasti). Niinpä kyllä!

Serafina. Ja vaimosi on ristisi, jalkapuusi, kahleesi, joka on joka


paikassa tielläsi, joka tasoittaa maahan kaiken sen hyvän, minkä sinä
rakennat, — joka estää sinua olemasta Suomen, vieläpä Euroopan
suurin mies, joka ei osaa muuta, kuin tehdä pahaa, kääntää kaikki
nurin, hävittää —

Hilarius. Koska hävittämisestä kerran on puhe, niin voisinpa sinun


kanssasi hävittää monta kertaa kärsivällisyytensäkin, (levollisesti)
mutta minä en ole sitä vielä hävittänyt.

Serafina. Niin, niin — sinä olet uhri! Sinä kärsit kuin lammas!
Sinulla on paljon vaivaa saada kaikki taasen oikeaan järjestykseen,
mitä minä pelmutan. Ja sinä olet aina oikeassa, ja jos minä heikko
vaimo kärsin, niin se ei liikuta sinua; jos murhe murtaa sydämmeni
ja sieluni, niin sinulle on se samantekevä.

Hilarius. Eipä niinkään, — onhan tuttua, vanhaa virttä tämä kaikki!


Olehan nyt vaan ääneti.

Serafina. Ääneti, vai ääneti…

Hilarius. No pidä ääntä sitten!

Serafina. Enhän voi puhua — minun täytyy aina vaan antaa


myöten; saan ensin kärsiä vääryyttä, ja sitten pitäisi minun
rukoileman vielä anteeksi; ei, se on liian paljon se. Ah, tunnen jo,
etten voi enää kauan kärsiä sellaista kohtelua!

Hilarius (sivulle). Nyt sanoo hän paikalla ottavansa eron.

Serafina. Äläkä luule, että me vaimot olemme luodut ainoastaan


kärsimään ja olemaan vaiti, ei, meitäkin on 19:s vuosisata
sivistyttänyt elikkä emansipierannut, mekin olemme oppineet
ryhtymään toimiin, ja saat olla varma siitä, että minäkin niihin toimiin
kykenen, — emmehän me ole kiinni taotut toisiimme.
Hilarius. Emme suinkaan!

Serafina. Ja jos kohtelet minua liian tylysti, niin minä, ijästäni


huolimatta, katkaisen nämä siteet. Saat nähdä, että jos minä suutun,
niin — otan kuin otankin eron sinusta.

Hilarius (yhtaikaa). Eron sinusta! — Hyvä juttu, tulipa ripityksistä


loppu viimeinkin.

Serafina. Ah, kuinka tämä kiihtymys heikontaa hermojani!

Hilarius (levollisesti). Kas niin, — näetkös, mitä varten yllyt sinä


sellaiseen raivoon! — Kuuleppas, papuseni, mene tuonne salonkiin ja
rauhotu hieman!

Serafina. Tuolla laukussa on etikkapulloni.

Hilarius (hakee pulloa, erikseen). Annettuansa ensin etikkaa


minulle, suvaitsee hän nyt itsekin sellaista. (Ääneen) Tuoss'on,
mammaseni, tuossa, — (taluttaa häntä pois) levähdä nyt vaan
hieman!

Serafina. Niin, levähdä — tällaisessa kiihkotilassa! — Sinä olet


minun teurastajani! (Menee oikeanpuolisesta ovesta.)

NELJÄS KOHTAUS.

Hilarius, sitten Evert.

Hilarius (katsoo vaimonsa jälkeen). Nuku, nuku nurmilintu…! Niin


se on, niin se on, sellaisia ovat nuo ämmät! Kun heillä on väärin, niin
saamme me siitä kärsiä. Onneksi tottuu ihminen kaikkeen — ja
tunnenhan nuo ripitykset jo ulkoa, — mutta alussa tuntuivat ne
jotenkin happamilta. Vaan "va' ska' ma' jööra", sanoo ruotsalainen,
— sitä kuusta kuuleminen, jonka juuressa asunto. (Ulkoa kuuluu
vihellystä.)

Evert (vasemmalta, allapäin). Kuinka nuo äyhkeet saattavatkaan


miehen alakuloiseksi, .- en voi sitä kertoakaan, — ne tuntuvat niin
ilkeältä…

Hilarius. Kas, hyvää päivää, herra Kauppi!

Evert (arasti). Hyvää päivää!

Hilarius. Olette kai huvimatkalla? Nykyjään matkustaa melkein


koko Suomenmaa. Matkanne käy kaiketi johonkin kylpypaikkaan?

Evert. Ei, olen vaan pienellä huvimatkalla. Ja te, herra Hilarius,


olette kai myös…

Hilarius. Ihan oikein, minä olen myös muijani kanssa pienellä


ilottelulla, (sivulle) tähän saakka toki ilman mitään iloa.

Evert (sivulle). Onnen mies! Minä en voi iloa ajatellakaan, vielä


vähemmän siitä puhua.

Hilarius. Mutta ettehän te hyvä ystävä, näytä ollenkaan


huvimatkalaiselta! Kentiesi puristaa saapas varpaitanne?

Evert. Saapasko — varpaitani? Ei —

Hilarius. Tahi kentiesi olette saanut pienet kotiripitykset


vaimoltanne?
Evert (hämillään, sitten tointuen). Kotiripityksetkö vaimoltani? En
suinkaan — hahaha (nauraa väkinäisesti). Minä olen ollut vasta
vuoden päivät naimisissa — kotiripityksiä vaimoltani suokaa anteeksi,
että minua naurattaa — ha ha ha —

Hilarius. Suokaa anteeksi — minua naurattaa (sivulle). Mutta


olisiko hän ainoa muukalainen aviomaailmassa!

Evert. En voi käsittää, kuinka tuollainen ajatus juolahtikaan


päähänne? Kentiesi te itse saatte joskus pikku kotiripityksiä
vaimoltanne?

Hilarius. Minäkö — kotiripityksiäkö? Mitä joutavia! — Mitä te


ajattelettekaan, ystäväni? Olen jo lähes 30 vuotta ollut naimisissa, —
ei sellaisia kuitenkaan nyt enää tapahdu. —

Evert (sivulle). Onnen mies!

Hilarius (sivulle). Lyönpä vetoa että hän sievistelee.

Evert, Siis, kun on oltu 30 vuotta naimisissa, niin ripitykset


lakkaavat, sanoitte te..

Hilarius (sivulle). Aha, tartuitkos ansaan? (Ääneen.) Arvattavasti —


silloin ne lakkaavat. Mutta tämä asia näkyy huvittavan teitä.

Evert. Minuako? — Eipä juuri (nauraa väkinäisesti). Minua


naurattaa vaan mokoma juttu — hahaha! suokaa anteeksi!

Hilarius. Tehkää hyvin ja naurakaa, — hahaha — sallikaa minun


nauraa yhdessä teidän kanssanne. Hahaha!

Evert (totisena). Mutta minkätähden te nauratte niin paljon!


Hilarius. Minäkö? Näettekös, ystäväni, minua naurattaa niin
sydämmen pohjasta, kuin ajattelen jotakin aviomiestä, joka saa
kotiripityksiä.

Evert (nolona). Vai niin!

Hilarius. Niin juuri! (Sivulle.) Semmoisia kuin esimerkiksi sinä.

Evert. Mutta saanko kysyä, minkätähden niin?

Hilarius. Katsokaapas vaan — me esimerkiksi emme saa


kotiripityksiä, niinhän?

Evert. Niin!

Hilarius. Se tulee siitä, että olemme viisaita miehiä. Syy on,


näettekös, aina miehessä, jos hän saa ripityksiä, — sillä silloin on
hän joko pöllö tahi ämmämäinen.

Evert. Niin vai —

Hilarius. Niin juuri — katsokaa — me emme saa kotiripityksiä,


niinhän?

Evert. Niin kyllä!

Hilarius. Nyt on paitsi pöllömäisiä ja vetelyksiä vielä kolmaskin


laatu aviomiehiä.

Evert (uteliaasti). No?

Hilarius. On kyllä, ja tätä kolmatta laatua, luokkaa ja järjestystä


ovat kaikki hiljaiset ja sävyisät miehet — he ovat, sivumennen
sanoen, juuri ne, jotka saavat kaikkein ankarimmat ripitykset,
vaikkeivät he siitä koskaan puhu, kun ovat pikku sievistelijöitä. Ne
ovat, meidän kesken sanoen, semmoista juhti-nahkaa, josta tehdään
tohvelin pohjia. (Antaa Kaupille kättä.) Olkaamme, herra Kauppi,
iloissamme siitä, ettemme ole tätä kolmatta luokkaa!

Evert. Niin — olkaamme iloiset!

Hilarius (sivulle). Saitkos, ystäväni! (Ulkoa kuuluu hälinää.)

VIIDES KOHTAUS.

Samat. Remunen ja Mimmi (keskiovesta).

Remunen (kantaa ainoastaan -pari myttyä). Mutta on vallan


hirveätä matkustaa naisten kanssa; joka asemalla kaksinkertaiset
puuhat. Joka paikassa pitää juoda buljonkia tahi seltterivettä.
Tahdotko sinä kupillisen buljonkia?

Mimmi (kantaa koko joukon matkakapineita, puhuu aina lempeällä


äänellä). Olen aina kiittänyt sinua hyväntahtoisuudestasi ja kiitän
nytkin.

Remunen. Kiitos kiittämästäsi, mutta minä en näet suvaitse


ijankaikkisia pyyntöjä. Ja sitten nuo lukemattomat matkakapineet!
Alinomaa täytyy pitää mielessä noita neljä-, viisi-, kuusilaatuisia
säkkiä ja laukkuja.

Mimmi (lempeästi kuten ainakin, oikeanpuolisen pöydän luona


perällä, panee kapineita yksi kerrassaan pois). Tässä on sinun
pleedisi, tässä sinun hattukotelosi, tässä sinun palttoosi, tässä
keppisi, tässä sinun sateenvarjosi —
Remunen. Merkillistä, kuinka muistitkaan sen ottaa? Luulin jo, että
täytyisi ostaa neljäs, vielä viideskin sateenvarjo tänä vuonna. Mutta
kaiketi muistit sen ottaa mukaan varjellaksesi omaa hattuasi.

Mimmi. Enhän minä ole koskaan unohuttanut sinun kapineitasi.


Mutta luulenpa olevan parasta levähtää hiukan; tuo matka kyydillä
oli niin väsyttävä.

Remunen. Levähdä, levähdä — mutta tee vaan minulle mieliksi,


äläkä pyörry taas, sehän esti meitä jatkamasta matkaamme.

Mimmi. Voin nyt vallan hyvin ja kiitän sinua vieläkin siitä, että otit
minut kerran mukaasi. Tämä matka on antanut minulle paljon huvia.

Remunen. Otin sinut kerrankin mukaani!

Evert (puoliääneen Hilariukselle). Onpa tuo koko peto!

Hilarius (samoin). Minä tunnen hänet, hän on muuan mikkeliläinen


kauppias, Remunen.

Remunen. Otin sinut kerrankin mukaani! Mutta sehän kuuluu ihan


kuin sinä tahtoisit pitää minulle isällisiä "vörmaaninkeja". Enhän minä
ole saattanut ottaa sinua mukaani markkinoille. Otin kerrankin
mukaani! Ikäänkuin minä matkustelisin ainoastaan omaksi huvikseni!
Sinä rupeat tässä näköjään jo saarnaamaan minulle. Otin kerrankin
mukaani! Sepä oli merkillinen mutkasana, se!

Mimmi. Minä en tahtonut tehdä sinulle mitään muistutusta,


päinvastoin tahdoin sanoa kiitokseni hyväntahtoisuudestasi.

Remunen. Niin vai, — mutta se ei suinkaan kuulunut siltä tahi et


sanonut sitä oikein sattuvasti… Mutta… tokkohan nyt lie vaan kaikki
kapineet paikallansa… luultavasti jää puolet tielle.

Mimmi (nousten ylös). Menen heti katsomaan. Suo anteeksi, että


jätän sinut.

KUUDES KOHTAUS.

Remunen. Hilarius. Evert.

Hilarius (hyppää pystyyn). Mutta sallikaa, herra Remunen, minun


auttaa häntä hiukan.

Remunen. Antakaa hänen olla — hän tekee sen kyllä itse.

Hilarius. Suokaa anteeksi, herra Remunen, te olette vähän tyly


tuota nuorta naista kohtaan, luultavasti on hän teidän sukulaisenne.

Remunen. Onpa kyllä — hän on minun vaimoni.

Hilarius. Teidän vaimonne — vai niin! —

Remunen. No, onko se sitten niin ihmeellistä?

Hilarius. Antakaa anteeksi, ei suinkaan, ei suinkaan, — minä


tunnustan vaan, etten puolestani voisi olla niin tyly vaimoani
kohtaan.

Remunen. Tylykö? Se näyttää vaan niin teistä, herraseni? Minä en


tylyydelläni, josta puhuitte, koeta muuta, kirin rakentaa rauhaa
talossani.

Hilarius. Tuollako lailla?


Remunen. Juuri sillä lailla, — näettekös, olen keksinyt uuden
keinon ja konstin perheellisen rauhan pysyttämiseksi.

Hilarius. Eiköhän saisi tietää tuota konstia?

Remunen. Hyvin kernaasti… Minä arvelin jo tuonnoin lähteä


lähetyssaarnaajana ympäri maailmaa saarnaamaan uutta keinoani.
Mutta ensiksi, tiedättekö te, mitä kotiripitykset ovat?

Hilarius. Kyllä — kyllä olen hiukan kuullut ja lukenut niistä, — vaan


sallikaa minun esittää ensin virkatoverini: herra Kauppi — herra
Remunen. — Hän on myöskin nainut ja voisi siis myös koettaa
keinoanne.

Remunen. No, sepä on hauskaa, se. — Siis tekin, herra Kauppi,


tiedätte mitä kotiripitykset ovat?

Evert. Tiedän kyllä, tehän herra Hilarius taisitte taannoin puhua


niistä —

Remunen (Kaupin ja Hilariuksen välillä, keskellä näyttämöä). Niin


kuulkaa sitten! Hm… Kotiripitykset ovat avioelämän epämukavin —
epämukavuus.

Hilarius ja Evert (yhdessä). Se on totta, se!

Remunen. Mutta ne eivät ole ainoastaan epämukavia ja ikäviä, ne


ovat myös, juuri niiden epämukavan ja ikävän laatunsa kautta —
aseet, joilla vaimot hosuvat meitä ja pakottavat meitä heidän
tahtonsa alle, — ja me miehet, me annamme myöten, saadaksemme
ainoastaan rauhaa.

Evert ja Hilarius (yhtaikaa). Niin juuri, niin —


Remunen. Minun ensimäinen vaimoni — kepeät mullat
haudallensa, — oli kelpo eukko, hänessä oli paljon hyvää, mutta
myös tuo paha tapa pitää kotiripityksiä. Hän oli siinä aika mestari,
oikein "virtuoosi". Olipa oikein hirveätä kuulla häntä, sillä sanon
teille: hän alkoi toisinaan nuppineulasta, vikurteli sitten asiaa sinne
tänne, kiipesi yhä korkeampiin ja korkeampiin ja korkeampiin
asioihin ja lopetti aina tällä klanetilla: hän ottaa eron tai kuolee.

Evert. Eihän se ole mahdollista!

Hilarius. (iroonisesti). Se on meille umpioutoa!

Remunen. Ja kun minä nain toisen kerran, niin ajattelin minä: nyt
ei sellaista enää tapahdu! Ensimmäiseen vaimoon nähden täytyi
minun aina olla alakynnessä ja sain täyttää kaikki hänen oikkunsa. —
Kun nyt tiesin keinon, niin ajattelin itsekseni: nyt rupean minä
puolestani sitä käyttämään. Siinä koko temppu. — Nyt pidän minä
kotiripityksiä vaimolleni.

Hilarius. Ja oletteko sillä mitään voittanut?

Remunen. Erinomaisen paljon. Ja luonnollistahan se onkin. Jos nyt


tahdon jotakin, niin en sano sitä koskaan suoraan, ei — alan kuten
vaimovainajani, maailman alusta, kiertelen sitten sinne tänne, pistän
pari kolme kovaa sanaa väliin, rupean sitten puhumaan erosta ja
kuolemasta — ja vaimoni sanoo lopuksi: tapahtukoon sinun tahtosi!
Otetaan esimerkiksi: tänään tahdon minä ajaa koko yön läpi — hän
ei tahdo — nyt käytän minä keinoani ja saatte nähdä, ettei viivy
kauvan ennenkuin hän sanoo: olkoon niin, tapahtukoon sinun
tahtosi!

Evert. Mutta tuohan ei näytä olevan hullumpia konsteja, tuo.


Remunen. Koettakaa vaan kerrankin, niin saatte itse nähdä, miltä
suunnalta tuuli puhaltaa. Elelen tuon keinoni avulla kuin paratiisissa,
seuratkaa te minun esimerkkiäni, niin saatte tekin tuntea paratiisin
esimakua jo täällä maailmassa.

Evert (päättävästi). Kyllä minä koetan. (Puoliääneen.) Minä pidän


vaimolleni ihan saman saarnan kun hänkin minulle tänä aamuna. Ja
— (ääneen) eihän tuo keino ole niin vaarallinen. Kiitän teitä, herra
Remunen, sydämeni pohjasta.

(Antaa Remuselle kättä ja menee oikeanpuolisesta ovesta.)

Hilarius. Mitähän jos minäkin koettaisin. Saas nähdä mitä eukkoni


tuumaa moisesta makupalasta.

(Menee vasemmanpuolisesta ovesta.)

SEITSEMÄS KOHTAUS.

Remunen, sitten Mimmi.

Remunen. Olenpa taaskin tehnyt kaksi miestä onnelliseksi. Aikaa


myöten häviää tuo aviosäädyn turilas kokonaan ja sen hävittäjä olen
minä — Mathias Remunen Mikkelistä! (Ulkoa kuuluu hälinää.)

Mimmi (tulee keskiovesta).

Remunen. Mutta todellakin, jollet sinä levähdä, niin eipä ihmettä,


jos vaivut ihan kokonaan.

Mimmi. Minä voin vallan hyvin, rakas Remunen.


Remunen. Te, naisväki, olette merkilliset elävät — aina
käyttäydytte sopimattomasti. Nyt kun sinun pitäisi levähtää,
juoksentelet pitkin stationaa. Kun aurinko paistaa, niin käytte te
sateenvarjo kourassa, ja kun sataa, niin teillä on tietysti paras hattu
päässä ja ainoastaan viuhka kädessä.

Mimmi. En ymmärrä, hyvä Remunen, mitä auringon paiste tähän


asiaan kuuluu.

Remunen (erikseen). Oikeastaan — hän on oikeassa, mutta vaimo


vainajani teki tavallisesti niinkuin sanoin. (Ääneen.) Sinä sanoit, ettei
ne kuulu tähän?

Mimmi. Niin sanoin.

Remunen. Niin te aina marmatatte, kun teille sanoo jotakin


suoraan vasten silmiä. Mutta kun sellaisesta tulee jotakin vahinkoa,
tappiota, kas silloin saamme kärsiä me, juurikuin miehet olisivat
maailmaan luodut ainoastaan teidän vikojanne korjaamaan. — Sen
lisäksi maksaa kaikki rahaa, niin muotikauppiaat kuin tohtoritkin.
Kuinka kävikään äsken, kun menimme katsomaan kilpa-ajoja; sanoin
sinulle: älä pane päällesi tuota pitkähelmuksista leninkiä; — siellä on
suuri väen tungos, ja helmukset voivat pian tallata ja repiä rikki.

Mimmi. Mutta, hyvä Remunen, olihan minulla silloin päälläni


harmaa leninki, joka on kylläksi lyhyt —

Remunen. Niin — no, mutta se on taas liian lyhyt. Olen sinulle


sanonut sen seitsemänkin kertaa, että se on liian lyhyt, — minä en
suvaitse niin lyhyttä leninkiä. Silloin jos käyskentelen kanssasi, niin
sorkehtii heti jälessäni kokonainen lauma nuoria herroja, jotka
tähystävät jalkoihisi.
Mimmi. Ah! (Istautuu keskimäisen pöydän luo.)

Remunen. Kas niin!… nyt hän menee istumaan pahimpaan vetoon.

Mimmi. Mutta eihän tässä ole mitään vetoa.

Remunen. Niin — niin — siihen asti ei vetokaan mitään haittaa,


kunnes täytyy kutsua tohtori. Niinhän tässä vetää, että tukka menee
pörröön. Tule, haen sinulle hiljaisen paikan asemasillalla.

Mimmi (nousten). Kuten käsket.

Remunen (taluttaa Mimmiä). Käsket, — minä en koskaan käske, —


mutta sinä teet aina juurikuin käskystä, niinkuin orja, ja kuitenkin
katson minä aina vaan sinun omaa etuasi.

(Menevät keskiovesta. Mimmi vetää mennessään nenäliinan


taskustansa ja pudottaa ruusupaperisen kirjeen.)

KAHDEKSAS KOHTAUS.

Evert, sitten Palvelija.

Evert (vasemmalta hyvin liikutettuna). En kuuna kullan valkeana


enää koeta tuon Mikkelin viisaan keinoa! Olinpa kuin kimalaisten
pesällä. (Huoaten.) Palvelija! (Soittaa.)

Palvelija (vasemmalta). Mitä käskette?

Evert. Lasi seltterivettä — ei, kokonainen pullo! Ei, kaksi pulloa,


toinen vainiolleni tuolla.

Palvelija. Heti paikalla. (Menee.)


Evert. Pitää nauttia jotain rauhottavaa. Mutta enpä voi käsittää,
mistä kummasta vaimot keksivät kaikkia noita puheenparsia… onpa
tuo oikein hirveätä!

Palvelija (tuo seltterivettä). Tässä on herra! (Evertin juodessa


kumartaa palvelija maahan ja nostaa lipun.)

Palvelija (antaen Evertille paperin). Te olette kaiketi pudottaneet


tämän, herra! (Menee vasemmalle.)

Evert. Minäkö? Ruusupaperisen kirjeenkö? Mitä kummaa tämä


tällainen on — (Aukaisee kirjeen.) Ainokainen enkelini, — minä
jumaloitsen sinua, — sinun toiveesi ovat minulle käskyjä, — mutta
minun oli vallan mahdoton päästä tänä aamuna matkalle. Tulen ensi
junassa, — sinun tulee keksiä keino, mikä hyvänsä, jäädäksesi
jäljelle. — Voi kuinka ikävöitsen sinua, — tuhansia muiskuja!
Tämäpäs nyt somalta kuuluu. — Mutta minulle ei tämä kirje ole.
Merkillinen lippu. (Ulkoa kuuluu hälinää.)

YHDEKSÄS KOHTAUS.

Evert. Hilarius vasemmalta ja Palvelija.

Hilarius (käsi poskella). Ai-Ai-ai-ai-ai — sepäs vasta oli tuhkalöyly!


Palvelija hoi! (Palvelija tulee vasemmalta.) Pullo seltterivettä ja
toinen vaimolleni tuolla… (Palvelija menee.) Kokeeni meni päin
mäntyyn. — Ah, kunnon nuori ystäväni, on hyvä että tapaan teidät
täällä yksin, minun on tunnustettava teille eräs synti.

Evert. Minulle?
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

ebookluna.com

You might also like