error catching
This commit is contained in:
@@ -21,6 +21,7 @@ public class AlgorithmTester{
|
||||
System.out.println("Please select an option:");
|
||||
System.out.println("1) Make a file of random numbers");
|
||||
System.out.println("2) Sort a file of random numbers");
|
||||
System.out.println("3) Sort a file of words");
|
||||
System.out.println("0) Exit");
|
||||
try{
|
||||
input = sc.nextInt();
|
||||
@@ -29,6 +30,7 @@ public class AlgorithmTester{
|
||||
switch(input){
|
||||
case 1 -> makeFile();
|
||||
case 2 -> sortFile();
|
||||
case 3 -> sortWordFile();
|
||||
case 0 -> quit=true;
|
||||
default -> System.out.println("Invalid input");
|
||||
}
|
||||
@@ -88,6 +90,7 @@ public class AlgorithmTester{
|
||||
boolean[] sortingAlgoChoices = new boolean[sortingAlgoNames.length];
|
||||
System.out.print("\nPlease enter file name: ");
|
||||
filename = sc.next();
|
||||
RandomNumberFileReader reader = new RandomNumberFileReader(filename);
|
||||
while(!ready){
|
||||
try{
|
||||
System.out.println("\nEnter the number of an algorithm you wish to use.");
|
||||
@@ -139,7 +142,6 @@ public class AlgorithmTester{
|
||||
boolean quickTWP=sortingAlgoChoices[6];
|
||||
boolean merge=sortingAlgoChoices[7];
|
||||
ArrayList<SortResult> results = new ArrayList<SortResult>();
|
||||
RandomNumberFileReader reader = new RandomNumberFileReader(filename);
|
||||
if(bubble){
|
||||
BubbleSorter bubSorter = new BubbleSorter(reader);
|
||||
results.add(bubSorter.measuredSort());
|
||||
@@ -173,6 +175,7 @@ public class AlgorithmTester{
|
||||
results.add(mSorter.measuredSort());
|
||||
}
|
||||
for(SortResult e: results){
|
||||
if(e!=null){
|
||||
if(print){
|
||||
for(int i: e.getSortedArray()){
|
||||
System.out.print(i+" ");
|
||||
@@ -184,6 +187,11 @@ public class AlgorithmTester{
|
||||
System.out.println(e.getWritesUsed()+" write operations");
|
||||
System.out.println(e.getTimeUsed()+" milliseconds");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private static void sortWordFile(){
|
||||
//String filename;
|
||||
}
|
||||
}
|
||||
@@ -68,6 +68,7 @@ abstract class Sorter {
|
||||
* @return returns a SortResult object with the name of the sorting algorithm used, the sorted array of numbers, the number of comparisons used to sort, and the number of writes to arrays used to sort
|
||||
*/
|
||||
public SortResult measuredSort(){
|
||||
if(numbers.length!=0){
|
||||
Instant start = Instant.now();
|
||||
this.sort();
|
||||
Instant end = Instant.now();
|
||||
@@ -75,6 +76,11 @@ abstract class Sorter {
|
||||
SortResult output = new SortResult(sortType, numbers, comparisonsUsed, writesUsed, time);
|
||||
return output;
|
||||
}
|
||||
else{
|
||||
System.out.println("Nothing to sort using "+sortType);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user