# PRG/420: Java Programming – 8 LABS

**(LAB 1) Output numbers in reverse**

Write a program that reads a list of integers, and outputs those integers in reverse. The input begins with an integer indicating the number of integers that follow. For coding simplicity, follow each output integer by a space, including the last one. Assume that the list will always contain fewer than 20 integers.

Ex: If the input is:

```
5 2 4 6 8 10
```

the output is:

```
10 8 6 4 2
```

To achieve the above, first read the integers into an array. Then output the array in reverse.

**(LAB 2) Middle Item**

Given a sorted list of integers, output the middle integer. Assume the number of integers is always odd.

Ex: If the input is:

```
2 3 4 8 11 -1
```

(where a negative indicates the end), the output is:

```
4
```

The maximum number of inputs for any test case should not exceed 9. If exceeded, output “Too many inputs”.

Hint: First read the data into an array. Then, based on the array’s size, find the middle item.

**(LAB 3) Output values below an amount**

Write a program that first gets a list of integers from input. The input begins with an integer indicating the number of integers that follow. Then, get the last value from the input, which indicates a threshold. Output all integers less than or equal to that last threshold value. Assume that the list will always contain fewer than 20 integers.

Ex: If the input is:

```
5 50 60 140 200 75 100
```

the output is:

```
50 60 75
```

The 5 indicates that there are five integers in the list, namely 50, 60, 140, 200, and 75. The 100 indicates that the program should output all integers less than or equal to 100, so the program outputs 50, 60, and 75.

For coding simplicity, follow every output value by a space, including the last one.

Such functionality is common on sites like Amazon, where a user can filter results.

**(LAB 4) Adjust list by normalizing**

When analyzing data sets, such as data for human heights or for human weights, a common step is to adjust the data. This can be done by normalizing to values between 0 and 1, or throwing away outliers.

For this program, adjust the values by subtracting the smallest value from all the values. The input begins with an integer indicating the number of integers that follow. Assume that the list will always contain fewer than 20 integers.

Ex: If the input is:

```
5 30 50 10 70 65
```

the output is:

```
20 40 0 60 55
```

The 5 indicates that there are five values in the list, namely 30, 50, 10, 70, and 65. 10 is the smallest value in the list, so is subtracted from each value in the list.

For coding simplicity, follow every output value by a space, including the last one.

**(LAB 5) Word Frequencies**

Write a program that reads a list of words. Then, the program outputs those words and their frequencies. The input begins with an integer indicating the number of words that follow. Assume that the list will always contain fewer than 20 words.

Ex: If the input is:

```
5 hey hi Mark hi mark
```

the output is:

```
hey 1
hi 2
Mark 1
hi 2
mark 1
```

Hint: Use two arrays, one array for the strings and one array for the frequencies.

**(LAB 6) Contains the character**

Write a program that reads an integer, a list of words, and a character. The integer signifies how many words are in the list. The output of the program is every word in the list that contains the character at least once. Assume at least one word in the list will contain the given character. Assume that the list of words will always contain fewer than 20 words.

Ex: If the input is:

```
4 hello zoo sleep drizzle z
```

then the output is:

```
zoo
drizzle
```

To achieve the above, first read the list into an array. Keep in mind that the character ‘a’ is not equal to the character ‘A’.

**(LAB 7) Elements in a range**

Write a program that first gets a list of integers from input. The input begins with an integer indicating the number of integers that follow. Assume that the list will always contain fewer than 20 integers.

That list is followed by two more integers representing lower and upper bounds of a range. Your program should output all integers from the list that are within that range (inclusive of the bounds). For coding simplicity, follow each output integer by a space, even the last one. The output ends with a newline.

Ex: If the input is:

```
5 25 51 0 200 33
0 50
```

then the output is:

```
25 0 33
```

(the bounds are 0-50, so 51 and 200 are out of range and thus not output).

To achieve the above, first read the list of integers into an array.

**(LAB 8) Two smallest numbers**

Write a program that reads a list of integers, and outputs the two smallest integers in the list, in ascending order. The input begins with an integer indicating the number of integers that follow. You can assume that the list will have at least 2 integers and fewer than 20 integers.

Ex: If the input is:

```
5 10 5 3 21 2
```

the output is:

```
2 3
```

To achieve the above, first read the integers into an array.

Hint: Make sure to initialize the second smallest and smallest integers properly.