Docstoc

Array Arrays Exam 1 1 Java source and executable files

Document Sample
Array Arrays Exam 1 1 Java source and executable files Powered By Docstoc
					Arrays
Exam 1

 1. Java source and executable files have
   the following extensions?
 a. .java and .class
 b. .src and .class
 c. .javadoc and .exe
 d. .list and .exe
Exam 1

 2. Which of the following is a Java
   comment
 a. ; This is my first program
 b. # This is my first program
 c. /* This is my first program */
 d. ‘ This is my first program
 e. none of the above
Exam 1

 3. We use the following operator to create
   a new object in Java
   a. malloc
   b. new
   c. string
   d. newObject
Exam 1

 4. Commands to compile and execute a
   java program are
   a. run and java
   b. execute and javac
   c. javac and java
   d. compile and run
Exam 1

 5. Identifiers may start with
   a. $
   b. @
   c. a number
   d. &
Exam 1

 6. It is necessary to declare an object
   before you can use it
   a. True
   b. False
Exam 1

 7. Which of the following is a valid
   identifier?
   a. Bank Account
   b. bank account
   c. bank$account
   d. bank-account
Exam 1

 8. A series of characters that appear in
   double quote is a char data type
 a. True
 b. False
Exam 1

 9. boolean isDone == false; is a valid
   assignment statement in Java
 a. True
 b. False
Exam 1

 10. Which of the following is a correct
   variable declaration statement?
      a. int x - float y;
      b. int x: float y;
      c. int x,y;
      d. Long int x;
Exam 1

 11. Boolean expressions are built by use of
   _relational______operators and
   _boolean_______operators

 12. A data value that can not be changed is
   called __constant____________

 13. $Bad-Variable is __bad/invalid/not _ Java
   identifier.
Exam 1

 14. These two data types: __float__, and
   ___double___are used for real numbers

 15. _An object____is an instance of a
   class
Exam 1

 16. double    loanPeriod;

 if (loanPeriod < 0 || >1000 ); {
          System.out.println(“Loan period is invalid”);
          System.exit(1);
       }
 1.    loanPeriod is not initialized
 2.    loanPeriod or a variable name is missing
 3.    ; is not needed.
Exam 1
 17. double s;
      s = 1.0;
      switch (s) {
      case 1.0: System.out.println(“ March madness”); break;
      case 2.0: System.out.println(“ November rain”); break;
      case 3.0: System.out.println(“White Christmas”); break;
      default: System.out.println(“No Special name”); break;
      }
 1. Switch doesn’t support double data type
Exam 1

 18. char aChar = ”NFL Championship”;
 1. Char datatype can only contain 1
    character
 2. Char data type needs single quotes
    instead of double ones
Exam 1
 19. int i, j;
 double x,y;
 i=1;
 j=2;
 x= Math.pow(3, (i/j));        ½ = 0, 30=1.0
 y = x % 2;
 if (y ==0)                    y = 1.0 % 2 = 1.0
 System.out.println(x +" is an even number ");
 else
 System.out.println(x +" is an odd number");
            1.0 is an odd number
Exam 1
 20. int count=1, sum=0;
   while (count < 9) {
         if (count % 2 != 0) {
                 sum += count;
         }
         count++;
   }
   System.out.println(" Sum ="+ sum);
Exam 1
 count =1, sum =0, 1 %2 = 1 (!= 0), sum = 0+1=1
 count =2, sum=1, 2 % 2 = 0
 count =3, sum=1, 3 % 2 = 1 (!=0), sum = 1+3 = 4
 count =4, sum=4, 4 % 2 = 0
 count =5, sum=4, 5 % 2 = 1 (!=0), sum = 4+5 = 9
 count =6, sum=9, 6 % 2 = 0
 count =7, sum=7, 7 % 2 = 1 (!=0), sum = 9+7 = 16
 count =8, sum=16, 8 % 2 = 0
 count =9, exit
                        Sum = 16
Exam 1

 21. int sum =0;
 for (int i=1; i<=2; i++) {
   for (int j=1; j<=3; j++) {
       sum = sum + (i+j);
   }
 }
 System.out.println(" Sum ="+ sum);
Exam 1
sum =0
i=1;
   j=1; sum=0+(1+1)
   j=2; sum =(1+1)+(1+2)
   j=3; sum = (1+1)+(1+2)+(1+3) = 2+3+4=9
i=2
   j=1; sum=9+(2+1)
   j=2; sum=9+(2+1)+(2+2)
   j=3; sum=9+(2+1)+(2+2)+(2+3)=
   9+(3+4+5)=9+12=21
Sum =21
Lab 4
Project Discussion (section 01+02)

 a.   Loan class:
 public class Loan{
 // data members

 // constructor(s)



 // Methods()
 }
Project Discussion (section 01)
 a.   Loan class:
 public class Loan{
 // data members
      private int loanPeriod;
      private double loanAmount;
      private double monthlyInterestRate;
      private double monthlyAmortization; // optional


 }
Project Discussion (section 01)
 a.   Loan class:
 public class Loan{
      //Constructor(s)
      public Loan(double loanAmt, double interest, int
      months ) {
         // this is a stub
         loanAmount = loanAmt;
         // should initialize monthlyInterestRate and
         //loanPeriod the same way
      }

 }
Project Discussion (section 01)
 a.   Loan class:
 public class Loan{
      // Methods
      public void setLoanAmount(double loanAmt) {
      // this is stub
      }
      public double getLoanAmount() {
          return loanAmount;
      }

 }
Project Discussion (section 01)
 a.   Loan class:
 public class Loan{
      // Methods
      public void setMonthlyInterestRate(double interest) {
      // this is stub
      }

      public double getMonthlyInterestRate() {
        return monthlyInterestRate;
      }

 }
Project Discussion (section 01)
 a.   Loan class:
 public class Loan{
      // Methods
      public void set(int months) {
      // this is stub
      }

      public double getLoanPeriod() {
        return loanPeriod;
      }

 }
Project Discussion (section 01)
 a.    Loan class:
 public class Loan{
       // Methods
          public double computeAmortization() {
          // this is a stub
          // The formula should be put here
          // Make sure to change the names to the data
          // member name
          // Don’t forget
          return ……;
       }

 }
Project 2 (Section 01)
 public class Amortization{
   // data member;
   private Loan loan;
   // constructor
   public Amortization () {

     }




 }
Project 2 (Section 01)
 public class Amortization{
     // Methods:
     public void start() {
         // This is a stub
     }

     public void describeProgram() {
        // This is a stub
     }



 }
Project 2 (Section 01)
 public class Amortization{
     // Methods:
     public void getInput () {
         // This is a stub
         // You should use Loan class here
     }

     public void displayOutput() {
         // This is a stub
         // You should use Loan class here
     }



 }
Lesson plan

    Arrays
Section 02

 public class Loan {

     // data members
     private double monthlyInterestRate;
     private double loanAmount;
     private int numberOfMonths;

 }
Section 02
 public class Loan {

     // Constructor(s)
     public Loan(double borrowedAmt, double interest, int
     months) {
          // this is a stub
          loanAmount= borrowedAmt;
          // similarly, you can initialize monthlyInterestRate
          // and numberOfMonths accordingly
     }
 }
Project 2 (Section 02)

 public class Amortization{
   // data member
   private Loan loan;

 }
Project 2 (Section 02)

 public class Amortization{
   // constructor
   public Amortization() {
       // this is a stub
       loan = new Loan(1000,0.1,12);
   }

 }
Project 2 (Section 02)
 public class Amortization{
   // methods
   public void start() {
        // this is a stub
   }
   private/public void describeProgram() {
        // this is a stub
        // Cut and paste System.out.print describe what
        // this program is doing from project 1 to here
   }

 }
Project 2 (Section 02)
 Import javax.swing.*;
 public class Amortization{
   // methods
   public/private void getInput() {
   // this is a stub
   // Cut and paste the while loop to get inputs users in part e
   (project 1) here

     // Use Loan Class
     loan.setBorrowedMoney( …..);

     }
 }
Project 2 (Section 02)
 Import javax.swing.*;
 public class Amortization{
   // methods
   public/private void printOutput() {
   // This is a stub
   //         print out loan.
   // getAmortizationPayment()

     }
 }
Section 02
 public class Loan {
   //Methods
   public void setBorrowedMoney(double principle) {
        // this is a stub
   }

     public double getBorrowedMoney() {
         return loanAmount;
     }

 }
Section 02
 public class Loan {
   //Methods
   public void setMonthlyInterestRate(double interest) {
        // this is a stub
   }

     public double getMonthlyInterestRate() {
         return monthlyInterestRate;
     }

 }
Section 02
 public class Loan {
   //Methods
   public void setNumberOfMonths(int months) {
        // this is a stub
   }

     public double getNumberOfMonths() {
         return months;
     }

 }
Section 02
 public class Loan {
   //Methods
   public double getAmortizationPayment() {
   // this is a stub
   // You should put the formula in project 1 here
   // Don’t forget to change the variable names
   // and don’t forget to return the value;
   return ……;
   }
 }
Arrays

    We often need to group together related
     items of data.
      Cards in a pack.
      Ships in a port.

    Java provides two distinct facilities:
      Traditional array.
      Flexible-size collection classes
       (java.util).
Problems That Arrays Solve
  ……

  minValue = firstNumber;
  if (secondNumber < minValue)
                                             What is this code doing?
             minValue = secondNumber;
  if (thirdNumber < minValue)
             minValue = thirdNumber;
  if (fourthNumber < minValue)
             minValue = fourthNumber;
  if (fifthNumber < minValue)
             minValue = fifNumber;

  ……

                         Finding minimum value from a set of 5 values
Arrays for Numerical data type
(primitive data types)
 int[] number = new int [5];
 int minValue;

 String inputStr;                                         Array
 for (int i=0; i<5; i++) {                          declaration &
           inputStr = JOptionPane.showInputDialog(null,"Please enter the
                                                       allocation
                     value for element "+i);            memory
           number[i] = Integer.parseInt(inputStr);
 }

 minValue = number[0];
 for (int i=1; i<5; i++) {
           if (minValue > number[i])
                     minValue = number[i];
 }
 System.out.println(" minValue ="+ minValue);
Arrays for Numerical data type
(primitive data types)
 int[] number = new int [5];
                                                       Getting values
 int minValue;
                                                      for all elements
                                                        in the array
 String inputStr;
 for (int i=0; i<5; i++) {
           inputStr = JOptionPane.showInputDialog(null,"Please enter the
                     value for element "+i);
           number[i] = Integer.parseInt(inputStr);
 }

 minValue = number[0];
 for (int i=1; i<5; i++) {
           if (minValue > number[i])
                     minValue = number[i];
 }
 System.out.println(" minValue ="+ minValue);
Arrays for Numerical data type
(primitive data types)
 int[] number = new int [5];
 int minValue;

 String inputStr;
 for (int i=0; i<5; i++) {
           inputStr = JOptionPane.showInputDialog(null,"Please enter the
                     value for element "+i);
           number[i] = Integer.parseInt(inputStr);  Access each
 }                                                  element of an
                                                         array
 minValue = number[0];
 for (int i=1; i<5; i++) {
           if (minValue > number[i])
                     minValue = number[i];
 }
 System.out.println(" minValue ="+ minValue);
Arrays
  Array is a collection of data values of the
   same data type.
  Example:
   int[ ] number; // This is an array of
   integers
   double[] gpa; // This an array of double
Array Declaration
 Format:
   <data type>[] <array_name>;

 OR
  <data type> <array_name>[];

 data type: double, int, float, string
 Example:
        double[] gpa;
 Or
        double gpa[];
Arrays
    The amount of memory allocated to store an array
     depends on the size and type of values in the array
        Size: number of elements in the array
        Type of values: data type of each element in the array
        An individual value in an array is called array element
 Example:
   int[ ] number = new int[5];
   data type: integer (4 bytes)
   size: 5
   memory: 20 bytes

 Array is a reference data type. Array is NOT an object
Arrays

 Example:
  int[ ] number = new int[5];
              number[0]
  number


                6


               0          1   2   3   4
Arrays
  Elements of an array are indexed from zero to
   size -1
  Size: the number of elements in an array
  length: a public constant represents the size of
   an array.
 Example:
   sum =0;
   for (int i=0; i<number.length; i++)
        sum += number[i];
Fixed –size array declaration

 Size of an array is pre-determined.
 Example:
 int[] number= new int[5];

 Problems:
 • What if we have more than pre-
   determined size of an array?
 • Underutilization of space.
Variable-size array declaration
    In Java, we can declare an array of different size every
     time we run a program
    Example:
     int size;
     int[] number;

     inputStr = JOptionPane.showInputDialog(null,"Please
     enter the number of elements ");
     size = Integer.parseInt(inputStr);

     number = new int[size];
Practice (in class and/or at home)

 Modify the class ComputeMin (week 4) to
    print out the minimum of an array with
    n integers.
Arrays for Objects
// An array for the names of the distinct

 private Loan[] loanArray = new Loan[5];

• Note: No Loan objects are created. Only a
container for Loan.
  • Each location is initialized to null.
   loanArray
                                              NULL
Arrays of Objects

 private Loan[] loanArray = new Loan[5];
 for (i=0; i<5; i++) {
   loanArray[i] = new Loan();
 }
  loanArray
Indexing an Array

 int[] number = new int [5];
 number[0] =2;
 number[1]=3;
 number[2]=4;
 number[3]= 6;
 number[4]=-1;
Initializing Arrays
     ...
     // Differentially number the assignments.
     private int[] number = {1, 2, 1, 5, 1,};
     private final int totalNumber =
                          number.length;




  • No new required.
  • Terminating semicolon.
  • Optional final comma.
Further Initializer Examples

  String[] suitNames = {
      "Spades", "Hearts", "Diamonds", "Clubs"
  };

  Point[]   vertices = {
      new   Point(0,0),
      new   Point(0,1),
      new   Point(1,1),
      new   Point(1,0),
  };

  YearlyRainfall y2k = new YearlyRainfall(
          new int[]{10,10,8,8,6,4,4,0,4,4,7,10,});
Iterating over an Array in
Reverse
 int size = 5;
 minValue = number[size-1];
 for (int i=size-2; i>=0; i--) {
         if (minValue > number[i])
                minValue = number[i];
 }
Copying Arrays

  int size=5;
  int number[] = new int[size];

  // Assuming that we get values for number array here

  // Declare another array called number1
  int number1[] = new int[size];

  // Copy the values of array number to array number1
  System.arraycopy(number,0,number1,0,size);
Passing Array to Methods

 When an array is passed to a method,
  only its reference is passed. A copy of
  the array is not created in the method.
 That means:
  we pass the identifier for that array which
  in fact is a reference to a start address of
  the array.
Passing Array to Methods
     Assuming changeArrayValue is one method of a class
     named ArrayClass


 public void changeArrayValue(int[] arrayChanged)   {
     for (int i=0; i< arrayChanged.length-1; i++)
          arrayChanged[i] += 1;
 }

     We call this method as:
Passing Array to Methods

 ArrayClass anObj = new ArrayClass();
 int number[5] = new int[5];
 for(int i=0; i<number.length; i++)
   number[0] = i;

 anObj.changeArrayValue(number);
Passing Array to Methods

  for(int i=0; i<number.length; i++)
    number[0] = i;
number

         0   1   2   3   4

  anObj.changeArrayValue(number);
number
         1   2   3   4   5
Searching an Unsorted Array

  We often need to search an array for a
   particular item of data.
  The data is often unsorted.
  The item might or might not be present.
      Care must be taken not to search beyond
       the end of the array.
      We need to decide how to return a found
       item.
Search with Multiple Returns

 public int indexOf(int[] numbers,int value){
     final int notPresent = -1;
     for(int index = 0; index < numbers.length;
                                          index++){
         if(numbers[index] == value){
             return index;
         }
     }
     // We did not find it.
     return notPresent;
 }
The Arrays Class

    Defined in the java.util package.
    Contains static methods for manipulating
     arrays:
      binarySearch: search for a value.
      equals: compare the contents of two
       arrays.
      fill: fill an array with a particular value.

      sort: sort the contents of an array.
Multi-Dimensional Arrays

    Arrays of multiple dimensions are
     possible.
      2D grid, for a board game such as chess.
      3D cube structure, etc.

  Multi-dimensional arrays are regarded as
   being arrays of arrays.
  Non-rectangular structures are possible.
2D Array Construction

 final int numRows = 10, numCols = 5;
 double[][] matrix = new double[numRows][numCols];

 char[][] hiddenWord = {
     { 'd', 'g', 'i', 'b' },
     { 'e', 'i', 'u', 'm' },
     { 't', 'a', 's', 'a' },
 };
Review

  Arrays make it possible to group related
   items in a single object.
  An array's length is fixed on construction.
  Arrays may have multiple dimensions.

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:8
posted:3/21/2012
language:English
pages:75