1 / 3100%
modified .txt file
//
// COURSE AND PROJECT INFO
// CSE205 Object Oriented Programming and Data Structures, Summer-A 2019
// Project Number: 1
//
// AUTHOR
// Abderrazak Raouah
//
//**********************************************************************
//**********************************
package project;
import java.util.Scanner;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.lang.Integer;
import java.io.File;
import java.io.PrintWriter;
import java.lang.String;
public class Main { //define the main() method
final String RUNS_UP = "RunsUp";
final String RUNS_DN = "RunsDown";
public static void main(String[] pArgs) throws FileNotFoundException {
new Main().run();
}
private void run() throws FileNotFoundException {
ArrayList<Integer> list = inputFileToList("p01-in.txt"); //list <-
ReadFile("p01-in.txt")
ArrayList<Integer> listRunsUpCount = new ArrayList<>();
ArrayList<Integer> listRunsDnCount = new ArrayList<>();
ArrayList<Integer> listRunsCount = new ArrayList<>();
listRunsUpCount = findRuns(list, RUNS_UP); //listRunsUpCount
←FindRuns(list, RUNS_UP)
listRunsDnCount = findRuns(list, RUNS_DN);//listRunsUpCount
←FindRuns(list, RUNS_DN)
listRunsCount = merge(listRunsUpCount, listRunsDnCount);
//listRunsCount Merge(listRunsUpCount, listRunsDnCount)
Output("p01-runs.txt", listRunsCount);
}
//creates and returns the listRunsCount ArrayList and sorts
public ArrayList<Integer> findRuns(ArrayList<Integer> pList,String
pDir) {
ArrayList<Integer> listRunsCount = arrayListCreate(pList.size(),
0);
int elementAtIndexK;
int i = 0;
int k = 0;
while (i < pList.size() - 1) {
if (pDir.equals(RUNS_UP) && pList.get(i) <= pList.get(i +1)) {
k++;
}
else if (pDir.equals(RUNS_DN) && pList.get(i) >= pList.get(i +
1)) {
k++;
//
//**********************************************************************
//**********************************
// CLASS: Project.java
//
// DESCRIPTION
// Inputs a .txt file, sorts by RunsUp and RunsDown, merges, and outputs a
}
else {
if (k != 0) {
elementAtIndexK = listRunsCount.get(k);
listRunsCount.set(k, elementAtIndexK + 1);
k=0;
}
}
i++;
}
if (k != 0) {
elementAtIndexK = listRunsCount.get(k);
listRunsCount.set(k, elementAtIndexK + 1);
}
return listRunsCount;
}
//Creates the merge arraylist, merging the runsup count and runsdown
count to have one sum
public ArrayList<Integer> merge(ArrayList<Integer> pListRunsUpCount,
ArrayList<Integer> pListRunsDnCount) {
ArrayList<Integer> listRunsCount =
arrayListCreate(pListRunsUpCount.size(), 0);
for (int i = 0; i < pListRunsUpCount.size() - 1; i++) {
int sum = pListRunsUpCount.get(i) +pListRunsDnCount.get(i);
listRunsCount.set(i, sum);
}
return listRunsCount;
}
/*
Creates the main array list to work out of
*/
public ArrayList<Integer> arrayListCreate(int pSize, int pInitValue) {
ArrayList<Integer> list = new ArrayList<>();
for (int i = 0; i < pSize; i++) {
list.add(pInitValue);
}
return list;
}
/*
Creates the output arraylist and the p01-runs.txt file with the
pLIstRuns sum number and the individual k instances
*/
public void Output(String pFileName, ArrayList<Integer> pListRuns)
{
try {
File outputFile = new File("p01-runs.txt");
PrintWriter output = new PrintWriter(outputFile);
int sumPListRuns = 0;
for (int i = 0; i < pListRuns.size(); i++) {
sumPListRuns += pListRuns.get(i);
}
output.println("runs_total, " + sumPListRuns + "\n");
for (int k = 1; k < pListRuns.size(); k++) {
output.println("runs_" + k + ", " + pListRuns.get(k));
}
output.close();
} catch (FileNotFoundException x) {
x.printStackTrace();
}
}
/*
creates the inputFileToList arraylist. Creates a new file. Scans that
file. Prints an error if the file does not have integers, or if the
file is not found.
*/
public ArrayList<Integer> inputFileToList(String fileParse) throws
FileNotFoundException {
ArrayList<Integer> listOfIntegers = new ArrayList<>();
try {
File inFile = new File("/Users/abderrazakraouah/eclipse-
workspace/project/p01-in.txt"); // create a file object
Scanner scan = new Scanner(inFile); //read the file
while (scan.hasNextInt()) {
if (scan.hasNextInt()) {
listOfIntegers.add(scan.nextInt()); //add to listOfIntegers
} else {
System.out.println("Error, file does not includean integer:
terminating");
scan.close();
} }
} catch (FileNotFoundException exception) {
System.out.println("Sorry, could not open 'p01-in.txt' for
reading. Stopping.");
}
return listOfIntegers;
}
}
Powered by TCPDF (www.tcpdf.org)
Students also viewed