R1

Solutions Manual: Chapter 1 Big Java, by Cay Horstmann 1. Answers to
Exercises in Chapter 1. R1.1. Programs are sequences of instructions and
decisions that a computer carries out to achieve a task. Programming means
designing and implementing the instructions, as opposed to using their results.
R1.2. A household ...

Part of the document



Answers to Exercises in Chapter 1

R1.1
Programs are sequences of instructions and decisions that a computer
carries out to achieve a task. Programming means designing and implementing
the instructions, as opposed to using their results.

R1.2
A household appliance carries out one task (or perhaps several tasks) for
which it was designed. A computer can be programmed to carry out arbitrary
tasks that the designers of the computer never envisioned.

R1.3
Rate the storage devices that can be part of a computer system by (a) speed
and (b) cost

Speed (fastest...slowest)
RAM and ROM
Hard disk drive
CD-ROM/DVD
Floppy disk drive
Tape

Cost (most expensive...least expensive)
RAM and ROM
Hard disk drive
Floppy disk
Tape
CD-ROM/DVD

Storage capacity (most...least)
Tape
Hard disk drive
CD ROM/DVD
RAM and ROM
Floppy disk

R1.4
The Java virtual machine is a program that executes so-called byte codes, a
portable instruction set.

R1.5
An applet is a Java program that is executed inside a web browser.

R1.6
Higher level programming languages allow the programmer to express the idea
behind the task. They are independent of the underlying machine language
representation, consequently more portable. Each processor type uses its
own version of assembler code which will not be compatible with other
processors. For example, an assembler code program written for an Intel
processor will not run on a Sparc or Motorola processor. Higher level
languages like Java or C++ allow programs to be developed which can be
compiled and run on different processors. Also, higher level languages can
perform tasks in fewer, less complicated steps than with assembler code.

R1.7
The programming languages mentioned in this chapter are Java, C++,
Assembler and Pascal.

R1.8
An integrated programming environment is a program that combines an editor,
compiler, and debugger.

R1.9
A console window is a window into which you can type commands to execute
programs and list the contents of directories and files.

R1.10
There are several possible answers; here is a typical one.
1. Point my browser to http://briefcase.yahoo.com
2. Type in my username and password when prompted
3. Click on the Select file button
4. Select the file Hello.java in the directory c:\myfiles from the file
dialog
5. Click Ok in the file dialog
6. Click on the Upload button
7. Wait for the file upload to complete

R1.11
Answers may vary; the following are typical.
Sample file: c:\myprograms\Hello.java
Java interpreter: c:\jdk1.2.2\bin\java.exe
Runtime library: c:\jdk1.2.2\jre\lib\rt.jar

R1.12
The escape character \, also called 'backslash has a special meaning in the
context of strings. Combining \ with one or more characters denotes a
special character or symbol. For example, \n prints a newline, that is, it
moves the position of the cursor to the next line. The tab character is
expressed as \t. The backslash itself can be expressed as \\.

R1.13


public class Hello
{
public static void main(String[] args)
{
System.outprint("Hello, World");
/* ^^ missing '.' */
}
}


public class Hello
{
public static void main(String[] args)
{
System.out.print("Hello, World);
/* ^^ missing '"' */
}
}


public class Hello
{
public static void main(String[] args)
{
System.out.print("Hello, World")
/* ^^ missing ';' */
}
}


public class Hello
{
public static void main(String[] args)
{
System.out.print("Hello, Wrold");
}
}


R1.14
Syntax errors are discovered by compiling the program and noting any
problems displayed by the compiler. The compiler will not translate the
program into machine code until all the syntax errors have been corrected.
The compiler will also attempt to report as many syntax errors as it can
find.
Logic errors are not readily obvious since the compiler will not detect
them as it compiles the program. These types of errors are discovered by
carefully examining the output and testing the program.

Programming Exercises

P1.1
ExP1_1.java

/**
Displays your name inside a box on the terminal screen.
*/

public class ExP1_1
{
public static void main(String[] args)
{
System.out.println("+-------+");
System.out.println("| Cay |");
System.out.println("+-------+");
}
}





P1.2
ExP1_2.java

/**
Displays a face.
*/

public class ExP1_2
{
public static void main(String[] args)
{
System.out.println(" /////");
System.out.println(" | o o |");
System.out.println("(| ^ |)");
System.out.println(" | \\_/ |");
System.out.println(" -----");
}
}




P1.3
ExP1_3.java

/**
Displays a Christmas tree.
*/

public class ExP1_3
{ public static void main(String[] args)
{ System.out.println(" /\\ ");
System.out.println(" / \\ ");
System.out.println(" / \\ ");
System.out.println("/ \\");
System.out.println("-------- ");
System.out.println(" \" \" ");
System.out.println(" \" \" ");
System.out.println(" \" \" ");
}
}





P1.4
ExP1_4.java

/**
Prints a staircase.
*/

public class ExP1_4
{
public static void main(String[] args)
{
System.out.println(" +---+");
System.out.println(" | |");
System.out.println(" +---+---+");
System.out.println(" | | |");
System.out.println(" +---+---+---+");
System.out.println(" | | | |");
System.out.println("+---+---+---+---+");
System.out.println("| | | | |");
System.out.println("+---+---+---+---+");
}
}





P1.5
ExP1_5.java

/**
Computes the sum of the first ten positive integers,
1 + 2 + ... + 10
*/

public class ExP1_5
{
public static void main(String[] args)
{
System.out.println(1 + 2 + 3 + 4 + 5
+ 6 + 7 + 8 + 9 + 10);
}
}





P1.6
ExP1_6.java

/**
Computes the sum of the reciprocals
1/1 + 1/2 + 1/3 + ... + 1/10.
*/

public class ExP1_6
{
public static void main(String[] args)
{
System.out.println(1/1.0 + 1/2.0 + 1/3.0 + 1/4.0
+ 1/5.0 + 1/6.0 + 1/7.0
+ 1/8.0 + 1/9.0 + 1/10.0);
}
}