<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="author" content="Fredrik Danielsson, http://lostkeys.se"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="robots" content="noindex" /> <title>Brandon Rozek</title> <link rel="stylesheet" href="themes/bitsandpieces/styles/main.css" type="text/css" /> <link rel="stylesheet" href="themes/bitsandpieces/styles/highlightjs-github.css" type="text/css" /> </head> <body> <aside class="main-nav"> <nav> <ul> <li class="menuitem "> <a href="index.html%3Findex.html" data-shortcut=""> Home </a> </li> <li class="menuitem "> <a href="index.html%3Fcourses.html" data-shortcut=""> Courses </a> </li> <li class="menuitem "> <a href="index.html%3Flabaide.html" data-shortcut=""> Lab Aide </a> </li> <li class="menuitem "> <a href="index.html%3Fpresentations.html" data-shortcut=""> Presentations </a> </li> <li class="menuitem "> <a href="index.html%3Fresearch.html" data-shortcut=""> Research </a> </li> <li class="menuitem "> <a href="index.html%3Ftranscript.html" data-shortcut=""> Transcript </a> </li> </ul> </nav> </aside> <main class="main-content"> <article class="article"> <h1>Final Review December 6</h1> <h2>Classes</h2> <p>Here is how you can create a class called "Employee" with a non-default constructor (a constructor that takes parameters) and a getter and setter</p> <pre><code class="language-java">public class Employee { // Our private variables private String name; private double salary; // Non-default constructor public Employee(String name, double salary) { this.name = name; this.salarly = salary; } // This is a getter public string getName() { return name; } public double setSalarly(double salary) { this.salary = salary; } }</code></pre> <h2>For Loops + Arrays</h2> <p>For loops are constructed in the following way</p> <p><code>for (initialization; condition to stop; increment to get closer to condition to stop)</code></p> <pre><code class="language-java">//Assume an array with variable name array is declared before for (int i = 0; i < array.length; i++) { // This code will loop through every entry in the array }</code></pre> <p>Note that you don't always have to start from zero, you can start anywhere from the array.</p> <h2>For Loops + Arrays + Methods</h2> <p>This is an example of how you can take in an array in a method</p> <pre><code class="language-java">public static boolean isEven(int[] array) { // <-- Note the int[] array for (int i = 0; i < array.length; i++) { // Iterate through the entire array // If you find an odd number, return false if (array[i] % 2 == 1) { return false; } } // If you didn't find any odd numbers, return true return true; }</code></pre> <h2>File I/O</h2> <p>Let's say that you have the following file</p> <pre><code>4 chicken 3 salad</code></pre> <p>And you want to make it so that you take the number, and print the word after it a certain number of times. For this example we would want to see the following</p> <pre><code class="language-java">chicken chicken chicken chicken salad salad salad</code></pre> <p>Here is the code to write it</p> <pre><code class="language-java">public static void printStrings() { FileInputStream file = new FileInputStream("stuff.txt"); // File contents are in stuff.txt Scanner scnr = new Scanner(file); // Scanner takes in a file to read while (scnr.hasNext()) { // While there are still stuff in the file to read int number = scnr.nextInt(); // Grab the number String word = scnr.next(); // Grab the word after the number // Print the word number times for (int i = 0; i < number; i++) { System.out.print(word); } // Put a new line here System.out.println(); } }</code></pre> <h2>Recursion</h2> <p>Look at handout and carefully trace recursion problems</p> <h2>2D Arrays</h2> <p>Declare a 2D int array with 4 rows and 7 columns</p> <pre><code class="language-java">int[][] dataVals = new int[4][7];</code></pre> <p>A 2D array with 4 rows and 7 columns has 7 * 4 = 28 entries.</p> <p>If you want to sum up all the numbers in a 2 dimensional array, do the following</p> <pre><code class="language-java">// Assume numbers is declared beforehand int sum = 0; for (int i = 0; i < numbers.length; i++) { // Loop through every row in the 2D array for (int j = 0; j < numbers[i].length; j++) { // Loop through every column in a row // This code now looks at one entry in a 2D array sum += numbers[i][j]; } }</code></pre> </article> </main> <script src="themes/bitsandpieces/scripts/highlight.js"></script> <script src="themes/bitsandpieces/scripts/mousetrap.min.js"></script> <script type="text/x-mathjax-config"> MathJax.Hub.Config({ tex2jax: { inlineMath: [ ['$','$'], ["\\(","\\)"] ], processEscapes: true } }); </script> <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> </script> <script> hljs.initHighlightingOnLoad(); document.querySelectorAll('.menuitem a').forEach(function(el) { if (el.getAttribute('data-shortcut').length > 0) { Mousetrap.bind(el.getAttribute('data-shortcut'), function() { location.assign(el.getAttribute('href')); }); } }); </script> </body> </html>