website/content/ta/spring2018/cpsc220/feb20.md

95 lines
2.2 KiB
Markdown
Raw Normal View History

2020-01-15 21:51:49 -05:00
# Lecture for February 20th
## Reading a File
You can get input from a file instead of from the terminal
```java
FileInputStream fileIn = new FileInputStream("myFile.txt");
// Our familiar Scanner
Scanner scnr = new Scanner(fileIn);
// We can use our usual Scanner methods
String line = scnr.nextLine();
fileIn.close(); // Remember to close the file when you're finished with it!
```
### Reviewing Scanner Methods
To understand some of the Scanner methods we need to be aware of the "newline" character. This character is equivalent to the `Enter` button on the keyboard.
`scnr.nextLine()` This get's all the characters in the buffer up to the newline character.
`scnr.next()` Grabs the characters in the next "token". Tokens are usually separated by any whitespace type character (spaces, enters, tabs, etc.)
## Writing to a File
Prints information to a file instead of to the screen
```java
FileOutputStream fileOut = new FileOutputStream("myOutfile.txt");
PrintWriter out = new PrintWriter(fileOut);
out.println("Print this as the first line.");
out.flush(); // Pushes the file changes to the file
fileOut.close(); // If you forget this then it won't remember your changes
```
## Arrays
Arrays are containers of fixed size. It contains a fixed number of values of the **same type**. (Ex: 10 integers, 2 strings, 5 booleans)
Declaration
```java
int[] array; // This declares an integer array
```
Initialization
```java
array = new int[7]; // This states that this array can hold up to 7 integers
```
Storing a value in an array
- Square bracket notation is used
```java
int[] array = new int[7];
array[0] = 5; // Stores 5 into the first slot
```
Now let us attempt to retrieve the value
```java
int temp = array[0];
System.out.println(temp); // Prints "5"
```
### Traversing an Array
Let's say we have the following array
```java
int[] numbers = {3, 5, 2, 7, 9};
```
Let's print out each of the values in the array
```java
for (int i = 0; i < numbers.length; i++) {
System.out.print("value in " + i " is " + numbers[i]);
}
```
### Finding the maximum value in an Array
```java
int highest = numbers[0];
for (int i = 0; i < numbers.length; i++) {
if (numbers[i] > highest) {
highest = numbers[x];
}
}
```