<< Chapter < Page Chapter >> Page >

Explanation 10

This is an upgrade to the program from Question 9 .

Success at last

The code in the following fragment resolves the compilation problem from Question 8 and the runtime problem from Question 9 .

void doIt(){ char[]ref = {'J','o','e'}; System.out.print(ref);System.out.print(" "); ref[0]= 'T'; ref[1]= 'o'; ref[2]= 'm'; System.out.println(ref);}//end doIt()

Simply initializing the local reference variable named ref satisfies the compiler, making it possible to compile the program.

Initializing the local reference variable named ref with a reference to a valid array object eliminates the NullPointerException that was experienced in Question 9 .

Printing the contents of the array object

The print statement passes the reference variable to the print method. The print method finds that the reference variable refers to a valid object (instead of containing null as was the case in Question 9 ) and behaves accordingly.

The print statement causes the initialized contents of the array object to be displayed. Then those contents are replaced with a new set of characters. The println statement causes the new characters to be displayed.

Back to Question 10

Answer 9

B. Runtime Error

Explanation 9

Purposely initializing a local variable

This is an update to the program from Question 8 . The code in the following fragment solves the compilation problem identified in Question 8 .

void doIt(){ char[]ref = null;

In particular, initializing the value of the reference variable named ref satisfies the compiler and makes it possible to compile the program.

A NullPointerException

However, there is still a problem, and that problem causes a runtime error.

The following statement attempts to use the reference variable named ref to print something on the screen. This results, among other things, in an attemptto call the toString method on the reference. However, the reference doesn't refer to an object. Rather, it contains the value null .

System.out.print(ref);

The result is a runtime error with the following infamous NullPointerException message appearing on the screen:

java.lang.NullPointerException at java.io.Writer.write(Writer.java:107)at java.io.PrintStream.write(PrintStream.java:245) at java.io.PrintStream.print(PrintStream.java:396)at Worker.doIt(Ap159.java:22) at Ap159.main(Ap159.java:15)

Back to Question 9

Answer 8

A. Compiler Error

Explanation 8

Garbage in, garbage out

Earlier programming languages, notably C and C++ allowed you to inadvertently write programs that process the garbage left in memory by previous programsrunning there. This happens when the C or C++ programmer fails to properly initialize variables, allowing them to contain left-over garbage from memory.

Member variables are automatically initialized to default values

That is not possible in Java. All member variables in a Java object are automatically initialized to a default value if you don't write the code toinitialize them to some other value.

Local variables are not automatically initialized

Local variables are not automatically initialized. However, your program will not compile if you write code that attempts to fetch and use a value in a localvariable that hasn't been initialized or had a value assigned to it.

Questions & Answers

where is the pectoral gridle located?
Tiania Reply
What is hypotonic
Bright Reply
the difference between the two cells
Obeng Reply
explain the courses and the correction of lon term sightedness and short term sightedness
Isaac Reply
why drinking excess alcohol causes thirst and dehydration
uwikuzo Reply
what is reproduction
smart Reply
it is d act of bringing young ones to life
Oyebanji
to ensure survival of a species🚴‍♀️
Michelle
what is a genotype
Collins
what is hazardous
smart
a cell is the smallest unit of a living thing. so we all have cell
smart
It is the formation of a zygote resulting from the fusion of the sperm cell with the ovum.Thus,this results in the production of new species which are genetically dissimilar from their parent cells.
Pallavi
what is size of cell
Mohd Reply
what is size of Hart
Mohd
nanometers=um sign thingie
Michelle
microns=nanometers
Michelle
monomers and polymers of nucleic acids?
Jyrl Reply
dna and rna involvement
Michelle
give me the elements of the soil
Iguma Reply
Air, water, organic matter, inorganic matter
Tshwano
soil water humus air
Veronicah
yap
Beloved
silica, iron
Patience
potassium, sulfur, calcium, carbon
Michelle
what is cell
iyaji Reply
A cell is a smallest fundamental unit of a living organisms.
Kem
the basic structural and functional unit of life
Patience
what is size of cell
Mohd
all things are made up of.....all things cannot exist without pre-exisiting cells...check out the 16th ce tury to learn more about microscope use and cells. i will give a hint: Mr. L.
Michelle
we are all made of cells
Michelle
Nutrition - sensitive intervention
Therowda Reply
what does the sori In fern mean
arhin Reply
biology is the study .exactly what is life?
Jerry
i'm sorry , the study of life
Jerry
how can U identify a person through his blood
Frankyx Reply
through genetic fingerprinting where specific DNA sequences in a person genome can be identified.
Pallavi
by help of genetics and DNA test
Meerbadini
can it also be detected using an RNA test
Frankyx
environmental biology
Ojesola Reply
what is phytoplankton
Ojesola
What is anabolism
Treasure Reply
the break down of substance
Aunty
Got questions? Join the online conversation and get instant answers!
Jobilize.com Reply

Get the best Algebra and trigonometry course in your pocket!





Source:  OpenStax, Object-oriented programming (oop) with java. OpenStax CNX. Jun 29, 2016 Download for free at https://legacy.cnx.org/content/col11441/1.201
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?

Ask