#Connecting my main file to my txt file
5 messages · Page 1 of 1 (latest)
⌛ This post has been reserved for your question.
Hey @sudden cairn! Please use
/closeor theClose Postbutton above when you're finished. Please remember to follow the help guidelines. This post will be automatically closed after 300 minutes of inactivity.
TIP: Narrow down your issue to simple and precise questions to maximize the chance that others will reply in here.
package assign03;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Arrays;
import java.util.Scanner;
public class GradeCalculator {
public static void main(String[] args) {
Scanner console = new Scanner(System.in);
String fileName;
do {
System.out.print("Enter a file name with path: ");
fileName = console.nextLine();
File file = new File("src/assign03/grades.txt");
try {
Scanner fileScanner = new Scanner(new File(fileName));
double examAverage = fileScanner.nextDouble();
double labAverage = fileScanner.nextDouble();
double quizAverage = fileScanner.nextDouble();
int assignmentCount = fileScanner.nextInt();
int[] assignmentScores = new int[assignmentCount];
for (int i = 0; i < assignmentCount; i++) {
assignmentScores[i] = fileScanner.nextInt();
} ```
fileScanner.close();
Arrays.sort(assignmentScores);
double averageAssignmentScore = Arrays.stream(assignmentScores).average().orElse(0);
int medianAssignmentScore = assignmentCount % 2 == 0 ?
(assignmentScores[assignmentCount / 2 - 1] + assignmentScores[assignmentCount / 2]) / 2 :
assignmentScores[assignmentCount / 2];
int numZeroScores = (int) Arrays.stream(assignmentScores).filter(score -> score == 0).count();
int highestAssignmentScore = assignmentScores[assignmentCount - 1];
int lowestAssignmentScore = assignmentScores[0];
This message has been formatted automatically. You can disable this using /preferences.
double numericCourseGrade = (examAverage * 0.2 + labAverage * 0.3 + quizAverage * 0.1 + averageAssignmentScore * 0.4);
char letterGrade;
if (numericCourseGrade >= 90) {
letterGrade = 'A';
} else if (numericCourseGrade >= 80) {
letterGrade = 'B';
} else if (numericCourseGrade >= 70) {
letterGrade = 'C';
} else if (numericCourseGrade >= 60) {
letterGrade = 'D';
} else {
letterGrade = 'F';
}
System.out.printf("Average assignment score: %.2f\n", averageAssignmentScore);
System.out.println("Median assignment score: " + medianAssignmentScore);
System.out.println("Number of 0 assignment scores: " + numZeroScores);
System.out.println("Highest assignment score: " + highestAssignmentScore);
System.out.println("Lowest assignment score: " + lowestAssignmentScore);
System.out.printf("Course grade (numeric): %.2f\n", numericCourseGrade);
System.out.println("Course grade (letter): " + letterGrade);
} catch (FileNotFoundException e) {
System.out.println("File not found. Please enter a valid file name with path.");
}
} while (true);
}
} ```
This message has been formatted automatically. You can disable this using /preferences.
nevermind I figured it out