Respuesta :
Debugging a code involves locating the errors in a code segment, and fixing them.
How to debug the code segment?
When the program was run on GDB, the program give the following error
Main.java:62: error: reached end of file while parsing
This means that we need to add a closing brace to the end of the program.
A second run after fixing this error gives another set of errors:
Main.java:4: error: class Contribution is public, should be declared in a file named Contribution.java
It should be noted that GDB only allows you to create a program with the file name Main i.e. Main.java
This means that we change the Contribution keywords in the program to Main.
After this has been done, the program gives the following output:
It took 17 contributions to reach the goal.
The maximum contribution received was $189.0.
The minimum contribution received was $3.0
The average contribution amount was $60.0.
A total of $1012.0 was collected.
So, the corrected program is:
import java.io.*;
import java.util.*;
public class Main {
public void fileOperation(String inputFile, String outputFile) {
double max_contro = Double.MIN_VALUE;
double min_contro = Double.MAX_VALUE;
int total = 0;
int goal = 1000;
double current = 0.0;
// Reading from the file
try {
File file = new File(inputFile);
Scanner sc = new Scanner(file);
while (sc.hasNextLine()) {
double amt = Double.parseDouble(sc.nextLine());
current += amt;
total++;
if (amt < min_contro) {
min_contro = amt;
}
if (amt > max_contro) {
max_contro = amt;
}
if (current > goal) {
break;
}
}
} catch (Exception e) {
System.out.println("Error processing the file!");
}
double average_contro = Math.round((double) current / total);
// Writing to the file
try {
FileWriter writer = new FileWriter(outputFile, true);
BufferedWriter out = new BufferedWriter(writer);
out.write("It took " + total + " contributions to reach the goal.\nThe maximum contribution"
+ " received was $" + max_contro + ".\nThe minimum contribution"
+ " received was $" + min_contro + "\nThe average contribution amount was $"
+ average_contro + ".\nA total of $" + current + " was collected.");
out.newLine();
out.close();
} catch (Exception e) {
System.out.println("Error processing the file!");
}
}
// Driver method to test the code
public static void main(String[] args) {
String inputFile = "input.in";
String outputFile = "output.out";
Main obj = new Main();
obj.fileOperation(inputFile, outputFile);
}
}
Note that the filename must be Main.java in GDB and the input file is input.in
Read more about debugging at:
https://brainly.com/question/13966274
#SPJ1