I receive errors in this code in eclipse and in GDB. Can someone help me? Thank you!



import java.io.*;
import java.util.*;

public class Contribution {

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";

Contribution obj = new Contribution();
obj.fileOperation(inputFile, outputFile);

}Input File: (Copy and Paste)

150
165
12
16
14
189
13
3
74
59
53
20
26
91
40
16
71
4
100
165
82
30
49
10
85
61
30
25
2
6
9
47
8
50
13
Output:


}

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

ACCESS MORE