Java Midterm Summer 2012
Question 1:
C o m p l e t e s t a t e m e n t s ( a ) a n d ( b ) , a n d a n s w e r q u e s t i o n s ( c ) a n d ( d ) :
( a ) A n o b j e c t i s a n i n s t a n c e o f a
( b ) T h e c o l l e c t i o n o f a n o b j e c t ’ s i n s t a n c e v a r i a b l e s i s k n o w n a s i t s
( c ) I n J a v a , o b j e c t s a r e c r e a t e d w i t h w h a t o p e r a t o r ?
( d ) I n J a v a , a c l a s s m a y h a v e i n s t a n c e v a r i a b l e s a n d m e t h o d s . I t m a y a l s o h a v e n a m e d b l o c k s
o f c o d e , a t m o s t o n e o f w h i c h i s e x e c u t e d w h e n a n o b j e c t i s c r e a t e d . W h a t a r e t h e s e n a m e d
b l o c k s o f c o d e c a l l e d ?
Answer
( a ) c l a s s
( b ) s t a t e
( c ) n e w
( d ) c o n s t r u c t o r s
Question 2:
A T a n g o D a n c e r h a s a n a m e a n d m a y h a v e a p a r t n e r w h o i s a l s o a T a n g o D a n c e r . I f T a n g o D a n c e r
A c h o o s e s T a n g o D a n c e r B t o b e a p a r t n e r , t h e o p e r a t i o n s u c c e e d s i f n e i t h e r A n o r B a l r e a d y
h a s a
p a r t n e r , a n d A i s n o t B . O n t h e n e x t p a g e , w r i t e t h e c h o o s e P a r t n e r m e t h o d a n d a d d i t i o n a l
m e t h o d s
a s d e s i r e d s o t h a t t h e f o l l o w i n g D r J a v a i n t e r a c t i o n s w o r k :
> T a n g o D a n c e r r i t a = n e w T a n g o D a n c e r ( " s e n o r i t a r i t a " ) ;
> T a n g o D a n c e r t o n y = n e w T a n g o D a n c e r ( " m r t o n y " ) ;
> r i t a . g e t N a m e ( )
" s e n o r i t a r i t a "
> r i t a . h a s A P a r t n e r ( )
f a l s e
> t o n y . h a s A P a r t n e r ( )
f a l s e
> r i t a . c h o o s e P a r t n e r ( t o n y )
t r u e
> r i t a . h a s A P a r t n e r ( )
t r u e
> r i t a . g e t P a r t n e r ( ) . g e t N a m e ( )
" m r t o n y "
> t o n y . h a s A P a r t n e r ( )
t r u e
> t o n y . g e t P a r t n e r ( ) . g e t N a m e ( )
" s e n o r i t a r i t a "
> t o n y . c h o o s e P a r t n e r ( r i t a )
f a l s e
> T a n g o D a n c e r e l a n a = n e w T a n g o D a n c e r ( " m s e l a n a " ) ;
> e l a n a . c h o o s e P a r t n e r ( e l a n a )
f a l s e
Answer
p u b l i c c l a s s T a n g o D a n c e r {
p r i v a t e S t r i n g n a m e ;
p r i v a t e T a n g o D a n c e r p a r t n e r ;
p u b l i c T a n g o D a n c e r ( S t r i n g n a m e ) {
t h i s . n a m e = n a m e ;
p a r t n e r = n u l l ;
}
p u b l i c S t r i n g g e t N a m e ( ) { r e t u r n n a m e ; }
p u b l i c T a n g o D a n c e r g e t P a r t n e r ( ) { r e t u r n p a r t n e r ; }
p u b l i c b o o l e a n h a s A P a r t n e r ( ) { r e t u r n p a r t n e r ! = n u l l ; }
p u b l i c b o o l e a n c h o o s e P a r t n e r ( T a n g o D a n c e r o t h e r ) {
i f ( o t h e r = = t h i s )
r e t u r n f a l s e ;
i f ( p a r t n e r ! = n u l l )
r e t u r n f a l s e ;
i f ( o t h e r . h a s A P a r t n e r ( ) )
r e t u r n f a l s e ;
p a r t n e r = o t h e r ;
o t h e r . s e t P a r t n e r ( t h i s ) ;
r e t u r n t r u e ;
}
v o i d s e t P a r t n e r ( T a n g o D a n c e r c h o o s e r ) {
p a r t n e r = c h o o s e r ;
}
}
Question 3
F o r e a c h c o d e s e g m e n t b e l o w , d e t e r m i n e h o w m a n y t i m e s t h e b o d y o f t h e l o o p i s e x e c u t e d .
W r i t e o n e o f t h e f o l l o w i n g a n s w e r s a f t e r e a c h : 0 , 1 , i n fi n i t e , o r > 1 . N o t e t h a t ” > 1 ” m e a n s
m o r e t h a n o n c e b u t n o t i n fi n i t e .
( a ) f o r ( i n t x = 1 ; x = 8 ) ;
( d ) i n t x = 1 0 ;
w h i l e ( x 1
( b ) i n f i n i t e
( c ) 1
( d ) 0
( e ) i n f i n i t e
Question 4
C o m p l e t e t h e m e t h o d s u m t h a t t a k e s t w o a r r a y s o f i n t e g e r s a s a r g u m e n t s . I t r e t u r n s n u l l i f
e i t h e r a r g u m e n t i s n u l l o r i f t h e a r r a y s a r e n o t t h e s a m e l e n g t h . O t h e r w i s e i t r e t u r n s a n e w
a r r a y , e a c h o f w h o s e e l e m e n t s e q u a l s t h e s u m o f t h e c o r r e s p o n d i n g e l e m e n t s i n t h e i n p u t
a r r a y s . T h e i n p u t a r r a y s s h o u l d n o t b e c h a n g e d b y t h e m e t h o d .
c l a s s S u m m a t i o n {
p u b l i c s t a t i c i n t [ ] s u m ( i n t [ ] o n e , i n t [ ] t w o )
{
i f ( o n e = = n u l l | | t w o = = n u l l )
r e t u r n n u l l ;
i f ( o n e . l e n g t h ! = t w o . l e n g t h )
r e t u r n n u l l ;
i n t [ ] r e s u l t = n e w i n t [ o n e . l e n g t h ] ;
f o r ( i n t i = 0 ; i = d e c i m a l N o [ i ] ) {
t h i s . d e c i m a l I n p = d e c i m a l N o [ i ] ;
r o m a n + = r o m a n N o [ i ] ;
}
}
S y s t e m . o u t . p r i n t l n ( " D e c i m a l I n p u t : " + t h i s . d e c i m a l I n p ) ;
S y s t e m . o u t . p r i n t l n ( " R o m a n O u t p u t : " + r o m a n ) ;
r e t u r n r o m a n ;
}
}
c l a s s D r i v e r {
p u b l i c s t a t i c v o i d m a i n ( S t r i n g [ ] a r g s ) {
D e c i m a l d e c i m a l = n e w D e c i m a l ( 1 4 5 6 ) ;
d e c i m a l . c o n v e r t D e c i m a l ( ) ;
}
}
Q u e s t i o n 8 :
Write a function to compute the square root of a number to a precision of 4.
p u b l i c c l a s s N e w t o n s S q u a r e R o o t {
p r i v a t e s t a t i c f i n a l d o u b l e E P S I L O N = . 0 0 0 0 1 ;
p r i v a t e i n t m y N u m b e r ;
p r i v a t e d o u b l e r o o t ;
p r i v a t e d o u b l e g u e s s ;
p u b l i c N e w t o n s S q u a r e R o o t ( i n t n u m b e r ) {
m y N u m b e r = n u m b e r ;
}
p u b l i c i n t g e t N u m b e r ( ) {
r e t u r n m y N u m b e r ;
}
p u b l i c d o u b l e f i n d S q u a r e R o o t ( ) {
g u e s s = 1 ;
r o o t = M a t h . s q r t ( m y N u m b e r ) ;
w h i l e ( E P S I L O N < M a t h . a b s ( M a t h . p o w ( r o o t , 2 ) m y N u m b e r ) )
{
g u e s s + + ;
}
r e t u r n r o o t ;
}
p u b l i c v o i d s e t N u m b e r ( i n t n u m b e r ) {
m y N u m b e r = n u m b e r ;
}
p u b l i c S t r i n g t o S t r i n g ( ) {
S t r i n g s = n e w S t r i n g ( ) ;
s = " T h e s q u a r e r o o t o f " + m y N u m b e r + " i s " + r o o t + " . " ;
r e t u r n s ;
}
}