Project 1: Write a program that uses a 2-D array to store the highest and lowest
ID: 3711856 • Letter: P
Question
Project 1:
Write a program that uses a 2-D array to store the highest and lowest temperatures for each month of the year. The program should output the average high, average low, and highest and lowest temperatures of the year. Your program must consist of the following methods with their appropriate parameters:
a)getData: This method reads and stores the data in the 2-D array
b)averageHigh: This method calculates and returns the average high temperature of the year
c)averageLow: This method calculates and returns the average low temperature of the year
d)indexHighTemp: This method returns the index of the highest temperature in the array
e)indexLowTemp: This method returns the index of the lowest temperature in the array
Use the following input:
High temp for each month: 30 40 45 60 70 90 89 95 79 90 70 40
Low temp for each month: 10 -10 20 30 50 75 85 79 50 80 30 20
Project 2:
Write a program that reads in a set of positive integers and outputs how many times a particular number appears in the list. You may assume that the data set has at most 100 numbers and -999 markes the end of the input data. The numbers must be output in increasing order.
Use the following for the data:
15 40 28 62 95 15 28 13 62 65 48 95 65 62 65 95 95 -999
Explanation / Answer
Project 1:
MyApp.java:
public class MyApp {
public static void main(String[] args) {
// TODO Auto-generated method stub
TempClass obj = new TempClass();
obj.getData();
System.out.println(obj.averageHigh());
System.out.println(obj.averageLow());
System.out.println(obj.indexHighTemp());
System.out.println(obj.indexLowTemp());
}
}
TempClass.java:
public class TempClass {
int[][] temps = null;
public void getData() {
temps = new int[][]{{30, 10}, {40, -10}, {45,20}, {60,30}, {70,50},
{90,75}, {89,85}, {95,79}, {79,50}, {90,80}, {70,30}, {40,20}
};
}
public int averageHigh() {
int highTempSum = 0;
for(int i = 0;i<12;i++) {
for(int j = 0;j<1;j++) {
highTempSum = highTempSum + temps[i][j];
}
}
return highTempSum/12;
}
public int averageLow() {
int lowTempSum = 0;
for(int i = 0;i<12;i++) {
for(int j = 1;j<2;j++) {
lowTempSum = lowTempSum + temps[i][j];
}
}
return lowTempSum/12;
}
public int indexHighTemp() {
int maxTemp = temps[0][0];
for(int i = 1;i<12;i++) {
for(int j = 0;j<1;j++) {
if(maxTemp<temps[i][j]) {
maxTemp = temps[i][j];
}
}
}
return maxTemp;
}
public int indexLowTemp() {
int minTemp = temps[0][1];
for(int i = 1;i<12;i++) {
for(int j = 1;j<2;j++) {
if(minTemp>temps[i][j]) {
minTemp = temps[i][j];
}
}
}
return minTemp;
}
}
Project 2:
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeSet;
public class MyApp {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int[] arr = new int[100];
int num = 1;
int tracker = 0;
while(num!=-999 && tracker<100) {
num = sc.nextInt();
if(num!=-999) {
arr[tracker] = num;
tracker++;
}
}
Arrays.sort(arr);
Map<Integer,Integer> map = new HashMap();
int prevNum = arr[0];
int counter = 1;
for(int i = 1;i<arr.length;i++) {
int currNum = arr[i];
if(prevNum==currNum) {
counter++;
}
else {
map.put(prevNum, counter);
counter = 1;
prevNum = currNum;
}
if(i==arr.length-1) {
if(prevNum==currNum) {
map.put(prevNum, counter);
}
}
}
Set<Integer> set = new TreeSet();
for(int x :arr)
set.add(x);
for(int x:set) {
if(x==0)
continue;
System.out.println(x+"-"+map.get(x));
}
}
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.