This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.ArrayList; | |
import java.util.List; | |
public class ExpressionParser { | |
public static void main(String[] arg) { | |
// Assume the entered expression has only the expected characters otherwise they are ignored | |
String input = "(400+8) * (6-5)/((311-2) *(2+2)) xxx"; | |
// Parse input |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class ListBasedStack<T> implements Stack<T> | |
{ | |
private Node<T> top = null; | |
public boolean isEmpty() | |
{ | |
return top == null; | |
} | |
public void clear() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.Scanner; | |
public class CommandObject { | |
private static Scanner input = new Scanner(System.in); | |
// a stubbed out example of how you can use OO to clean up | |
// how you take user input from the user. | |
public static void main(String[] args) { | |
Command c = getCommand(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.ArrayList; | |
public class ParametricPolymorphism { | |
public static void main(String[] args) { | |
// Java Generics are an implementation of parametric polymorphism. They can be complicated subject. | |
// We will only focus on their simple use case with collections (lists, sets, stacks, etc) | |
// Old Java (1.4 and older): |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.io.File; | |
import java.io.FileNotFoundException; | |
import java.io.IOException; | |
import java.util.InputMismatchException; | |
import java.util.Random; | |
import java.util.Scanner; | |
public class Exceptions { | |
// An exception is an event that occurs during the execution of a program |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class TwoDimensionalArrays { | |
public static void main(String[] args) { | |
// An array keeps track of multiple pieces of information in linear order. | |
// A one-dimensional list. | |
// The data associated with certain programs (a digital image, a board game, etc.) | |
// lives in two dimensions. To model this data, we need a multi-dimensional data | |
// structure, that is, a multi-dimensional array. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class Node { | |
private int value; | |
private Node next; | |
public Node(int value) { | |
this.value = value; | |
} | |
public Node getNext() { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.Random; | |
public class SubtypePolymorphism { | |
public static abstract class Animal { | |
public abstract String talk(); | |
public void write() { | |
System.out.println(this.talk()); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class AdHocPolymorphism { | |
// ad hoc polymorphism to refers to | |
// polymorphic functions which can be | |
// applied to arguments of different types, | |
public static class Adder { | |
// Note: int[] is not coercible to double[] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.Random; | |
public class Arrays { | |
public static void main(String[] args) { | |
// Declaration style. | |
int arrayTwo[] = new int[3]; | |
int[] arrayOne = new int[3]; // This is better! []'s are part of the type!! | |
// Indexing: We always refer to the first element of an array [0]. | |
// ex. subway example |