midterm(2( - university of texas at austin · 2013-08-14 · 5.(programing(int roll= r.nextint(11)...

25
Midterm 2

Upload: others

Post on 30-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Midterm(2( - University of Texas at Austin · 2013-08-14 · 5.(Programing(int roll= r.nextInt(11) + 2; " // 2 – 12 , evenly distributed! int roll = r.nextInt(6) + r.nextInt(6)

Midterm  2  

Page 2: Midterm(2( - University of Texas at Austin · 2013-08-14 · 5.(Programing(int roll= r.nextInt(11) + 2; " // 2 – 12 , evenly distributed! int roll = r.nextInt(6) + r.nextInt(6)

1.  Array  

A. <type>[] <name> = new <type>[<length>];

int[] data1 = new int[8];

data1.length() = 8;

index 0 1 2 3 4 5 6 7

value 0 0 0 0 0 0 0 0

Page 3: Midterm(2( - University of Texas at Austin · 2013-08-14 · 5.(Programing(int roll= r.nextInt(11) + 2; " // 2 – 12 , evenly distributed! int roll = r.nextInt(6) + r.nextInt(6)

1.  Array  

B.

data2.length() = 5;

data2.length()/2 = 2;

index 0 1 2 3 4

value 0.1 3.5 1.5 6.1 0.5

Page 4: Midterm(2( - University of Texas at Austin · 2013-08-14 · 5.(Programing(int roll= r.nextInt(11) + 2; " // 2 – 12 , evenly distributed! int roll = r.nextInt(6) + r.nextInt(6)

1.  Array  

C. int[] data3 = new int[6];

index 0 1 2 3 4 5

value 0 0 0 0 0 0

Page 5: Midterm(2( - University of Texas at Austin · 2013-08-14 · 5.(Programing(int roll= r.nextInt(11) + 2; " // 2 – 12 , evenly distributed! int roll = r.nextInt(6) + r.nextInt(6)

1.  Array  

D.

The "zero-equivalent" value of String (or other objest) is null, not an empty string.

runtime error

(null pointer exception)

Type Default value int 0

double 0.0

boolean false

String or other object

null (means, "no object")

Page 6: Midterm(2( - University of Texas at Austin · 2013-08-14 · 5.(Programing(int roll= r.nextInt(11) + 2; " // 2 – 12 , evenly distributed! int roll = r.nextInt(6) + r.nextInt(6)

clicker Question 8 What  is  output  by  the  following  code?  String[] names = new String[5]; names[1] = "Olivia"; names[3] = "Isabelle"; System.out.print(names[0].length());"A.  no  output  due  to  null  pointer  excep>on  B.  no  output  due  to  array  index  out  of  bounds  excep>on  C.  no  output  due  to  a  compile  error  (code  can't  run)  D.  0  E.  6  

Page 7: Midterm(2( - University of Texas at Austin · 2013-08-14 · 5.(Programing(int roll= r.nextInt(11) + 2; " // 2 – 12 , evenly distributed! int roll = r.nextInt(6) + r.nextInt(6)

1.  Array  

E. data4[3] += 3;

data4[2] = data4[3] * data4[1] ;

data4[1] = 7;

index 0 1 2 3 4

data4 5 1 6 2 3

data4 5 1 6 5 3

data4 5 1 5 5 3

data4 5 7 5 5 3

Page 8: Midterm(2( - University of Texas at Austin · 2013-08-14 · 5.(Programing(int roll= r.nextInt(11) + 2; " // 2 – 12 , evenly distributed! int roll = r.nextInt(6) + r.nextInt(6)

1.  Array  

F. data5.length = 12; data5.length – 2* data5.length = -12

data5[-12]

runtime error

Array index out of bounds

Page 9: Midterm(2( - University of Texas at Austin · 2013-08-14 · 5.(Programing(int roll= r.nextInt(11) + 2; " // 2 – 12 , evenly distributed! int roll = r.nextInt(6) + r.nextInt(6)

2.  Condi>onals  

5,000  

40,000  5,000   15%  

10%  

5%  

Page 10: Midterm(2( - University of Texas at Austin · 2013-08-14 · 5.(Programing(int roll= r.nextInt(11) + 2; " // 2 – 12 , evenly distributed! int roll = r.nextInt(6) + r.nextInt(6)

3.  Strings  

if(ch != tgt && ch != ‘*’)

if(!(ch = tgt || ch = ‘*’)

 Wrong:  

if(ch != tgt || ch != ‘*’)                                                          if  tgt  NOT  a  ‘*’  always  true  

Page 11: Midterm(2( - University of Texas at Austin · 2013-08-14 · 5.(Programing(int roll= r.nextInt(11) + 2; " // 2 – 12 , evenly distributed! int roll = r.nextInt(6) + r.nextInt(6)

r  ==  -­‐  1  ?   Always  

Page 12: Midterm(2( - University of Texas at Austin · 2013-08-14 · 5.(Programing(int roll= r.nextInt(11) + 2; " // 2 – 12 , evenly distributed! int roll = r.nextInt(6) + r.nextInt(6)

r  ==  -­‐  1  ?   Some>mes  

Page 13: Midterm(2( - University of Texas at Austin · 2013-08-14 · 5.(Programing(int roll= r.nextInt(11) + 2; " // 2 – 12 , evenly distributed! int roll = r.nextInt(6) + r.nextInt(6)

r  ==  -­‐  1  ?   Some>mes  

Page 14: Midterm(2( - University of Texas at Austin · 2013-08-14 · 5.(Programing(int roll= r.nextInt(11) + 2; " // 2 – 12 , evenly distributed! int roll = r.nextInt(6) + r.nextInt(6)

s  >  h  ?   Never  

Page 15: Midterm(2( - University of Texas at Austin · 2013-08-14 · 5.(Programing(int roll= r.nextInt(11) + 2; " // 2 – 12 , evenly distributed! int roll = r.nextInt(6) + r.nextInt(6)

s  >  h  ?   Some>mes  

what  if  tgt  greater  than  any  element  in  data?  

h   s   m  2   0   1  2   2   2  2   3   -­‐  

Page 16: Midterm(2( - University of Texas at Austin · 2013-08-14 · 5.(Programing(int roll= r.nextInt(11) + 2; " // 2 – 12 , evenly distributed! int roll = r.nextInt(6) + r.nextInt(6)

s  >  h?   Some>mes  

1.  if    s  >  h  at  Point  B.    2.  stop  doing  while  loop  3.  s  >  h  s>ll  true  at  Point  C    

Page 17: Midterm(2( - University of Texas at Austin · 2013-08-14 · 5.(Programing(int roll= r.nextInt(11) + 2; " // 2 – 12 , evenly distributed! int roll = r.nextInt(6) + r.nextInt(6)

data[m]!= tgt ?"Never  

Page 18: Midterm(2( - University of Texas at Austin · 2013-08-14 · 5.(Programing(int roll= r.nextInt(11) + 2; " // 2 – 12 , evenly distributed! int roll = r.nextInt(6) + r.nextInt(6)

data[m]!= tgt ?"

False  

True  

Some>mes  

Page 19: Midterm(2( - University of Texas at Austin · 2013-08-14 · 5.(Programing(int roll= r.nextInt(11) + 2; " // 2 – 12 , evenly distributed! int roll = r.nextInt(6) + r.nextInt(6)

Some>mes  data[m]!= tgt ?"

Page 20: Midterm(2( - University of Texas at Austin · 2013-08-14 · 5.(Programing(int roll= r.nextInt(11) + 2; " // 2 – 12 , evenly distributed! int roll = r.nextInt(6) + r.nextInt(6)

5.  Programing  int roll= r.nextInt(11) + 2; " // 2 – 12 , evenly distributed!int roll = r.nextInt(6) + r.nextInt(6) + 2; !! ! ! !// two dice!

 +   1   2   3   4   5   6  1   2   3   4   5   6   7  2   3   4   5   6   7   8  3   4   5   6   7   8   9  4   5   6   7   8   9   10  5   6   7   8   9   10   11  6   7   8   9   10   11   12  

Page 21: Midterm(2( - University of Texas at Austin · 2013-08-14 · 5.(Programing(int roll= r.nextInt(11) + 2; " // 2 – 12 , evenly distributed! int roll = r.nextInt(6) + r.nextInt(6)

return  vs.  print  

 return:    pass  the  value  back  to  the  code  that  called  the  func>on.    print:  display  at  screen  

Page 22: Midterm(2( - University of Texas at Austin · 2013-08-14 · 5.(Programing(int roll= r.nextInt(11) + 2; " // 2 – 12 , evenly distributed! int roll = r.nextInt(6) + r.nextInt(6)

6.  Scanner  

while(sc.hasNext()) " - avoid crash" o NoSuchElementException o InputMismatchException - Read the entire file" without knowing how many " "tokens/lines are there"""

Page 23: Midterm(2( - University of Texas at Austin · 2013-08-14 · 5.(Programing(int roll= r.nextInt(11) + 2; " // 2 – 12 , evenly distributed! int roll = r.nextInt(6) + r.nextInt(6)

Turing  Award  

E.  Allen  Emerson   Edsger  W.  Dijkstra  

Page 24: Midterm(2( - University of Texas at Austin · 2013-08-14 · 5.(Programing(int roll= r.nextInt(11) + 2; " // 2 – 12 , evenly distributed! int roll = r.nextInt(6) + r.nextInt(6)

Your  Answer  

Mike  Scob   Mike  Dell  

Page 25: Midterm(2( - University of Texas at Austin · 2013-08-14 · 5.(Programing(int roll= r.nextInt(11) + 2; " // 2 – 12 , evenly distributed! int roll = r.nextInt(6) + r.nextInt(6)

Regrade  

•  Reason  for  regrade  at  the  front  of  your  exam  •  CANNOT  request  a  regrade  once  you  leave  •  The  en>re  exam  will  be  strictly  regraded    •  Your  score  could  go  down