Write a Java Program to Read in a Data File, Calculate Grade Info
tracydo 17 Junior Poster in Training
I spent so much time from scratch to finish and to the point that I couldn't figured out what is all my mistakes about. I need a fresh set of eye, may you help? (errors at the bottom, sorry for have to scroll down the long page) Thanx
/* *Description: Writing own method, Switch Selection Control, String,Accumulating, *Counting method, array base on last reviews from previous labs. *prepare a grade report for more than 1 student using input File and *output to a File with print outs letter grades # of A's, B's etc. *Input: College Name, Student Name, Student ID Number and *Courses-Section Name (ex. CISC115.59), Letter Grades *Output: College Name, Student Name, Student ID Number; *Courses, Letter Grades, Grade Points, GPA and total students grades. */ import java.io.*; //Needed for File classes import java.util.*; //Needed for scanner classes public class gpa { public static void main(String[] args)throws Exception { // declare inFile & associate with actual data file Scanner inFile = new Scanner(new FileReader("inputgpa.txt")); //Read numStudents from first line of inputgpa file int numStudents = inFile.nextInt(); //total number of students // declare outFile & associate with actual data file PrintWriter outFile = new PrintWriter("outputgpa.txt"); //Print College name to file outFile.println("BCCC"+"Grade Report for "+ numStudents+"students"); // Continue if there is more data in inputgpa file while (inFile.hasNext()) { //Read Name & idNumber from inputgpa file String Name = inFile.nextLine(); // student name in file int idNumber = inFile.nextInt(); //student ID number // Output to file outFile.println("\t\t\t"+Name); outFile.println("\t\t\t"+idNumber); //print 1 blank line outFile.println(); //Write to file for headings outFile.println("Couse\t\t"+"Grade\t\t"+"Gradepoints"); //Call studentCourses method for student gp & gpa calculation studentCourses(); }//End While loop then close the inputgpa file inFile.closed(); }//End Main method /** ___________________________________________________________ This loop for colecting the 6 courseName and their letGrade of each student from the inputgpa file, then calculate the gp & gpa */ public static void studentCourses() { //continue read from inputgpa file while(inFile.hasNext()) { //Declare variable n & its value int n = 6; //total of student courses int i=0; //start loop for(i=0; i<n; i++) { //read courseName String courseName = inFile.nextLine(); String letGrade = inFile.nextLine(); //Pass the array to the gradeSortout method gradeSortout(); double gp=0.0; // grade point //compute gp from input letGrade switch(letGrade) { case 'A': gp=4; break; case 'B': gp=3; break; case 'C': gp=2; break; case 'D': gp=1; break; case 'F': gp=0; break; default: System.out.println("Invalid Grade"); break; }//End switch loop //compute to find total gradepoints double totalgp = 0.0; totalgp+= gp; //Read values then output to outputgp file outFile.println(courseName+"\t\t"+letGrade+"\t\t"+gp); }//End For loop //Compute gpa double gpa = 0.0; gpa = totalgp / n; //Read gpa and output to outputgpa file //print line outFile.println("-------------------------------"); //display gpa as footer outFile.println("GPA: "+gpa); }//End While loop }//End studentCourses method // ___________________________________________________________________ //Begin gradeSortout method public static void gradeSortout() { // declare outGrade & associate with actual data file PrintWriter outGrade = new PrintWriter("Grade.txt"); //Print to Grade file outGrade.println("BCCC"+"Grade Results Report of "+ numStudents+"students "+"- Spring 2011-"); //calculate the total grades of all students for array uses int sum = numStudent*n; int[]gradeArray = new int[numStudent*n]; int j=0; //start loop for gradeSortout for(j=0; j<sum; j++) { gradeArray[j] = 0; switch(letGrade) { case'A':outGrade.format(format,(j+1)+"A"); break; case'B':outGrade.format(format,(j+1)+"A"); break; case'C':outGrade.format(format,(j+1)+"A"); break; case'D':outGrade.format(format,(j+1)+"A"); break; case'F':outGrade.format(format,(j+1)+"A"); break; default:outGrade.println("invalid grade"); break; } //print to Grade file in table layout outGrade.println("________________________________________"); outGrade.println();//one blank line String format = "%1$-10s%2$-10s%3$-10s%4$-10s%5$-10s%6$-10s\n"; //print headings outGrade.format(format,"Number","A Grade", "B Grade", "C Grade", "D Grade", "F Grade"); }//End for loop }//End gradeSortout method }//End
symbol : variable inFile location: class gpa while(inFile.hasNext()) ^ gpa.java:82: cannot find symbol symbol : variable input location: class gpa String courseName = input.nextLine(); ^ gpa.java:83: cannot find symbol symbol : variable input location: class gpa String letGrade = input.nextLine(); ^ gpa.java:86: gradeSortout(int[]) in gpa cannot be applied to () gradeSortout(); ^ gpa.java:91: incompatible types found : java.lang.String required: int switch(letGrade) ^ gpa.java:106: cannot find symbol symbol : variable outFile location: class gpa outFile.println(courseName+"\t\t"+letGrade+"\t\t"+gp); ^ gpa.java:111: cannot find symbol symbol : variable totalgp location: class gpa gpa = totalgp / n; ^ gpa.java:115: cannot find symbol symbol : variable outFile location: class gpa outFile.println("-------------------------------"); ^ gpa.java:118: cannot find symbol symbol : variable outFile location: class gpa outFile.println("GPA: "+gpa); ^ gpa.java:134: cannot find symbol symbol : variable numStudents location: class gpa outGrade.println("BCCC"+"Grade Results Report of "+ numStudents+"students "+"- Spring 2011-"); ^ gpa.java:137: cannot find symbol symbol : variable numStudent location: class gpa int sum = numStudent*n; ^ gpa.java:137: cannot find symbol symbol : variable n location: class gpa int sum = numStudent*n; ^ gpa.java:138: cannot find symbol symbol : variable numStudent location: class gpa int[]gradeArray = new int[numStudent*n]; ^ gpa.java:138: cannot find symbol symbol : variable n location: class gpa int[]gradeArray = new int[numStudent*n]; ^ gpa.java:146: cannot find symbol symbol : variable letGrade location: class gpa switch(letGrade) ^ gpa.java:148: cannot find symbol symbol : variable format location: class gpa case'A':outGrade.format(format,(j+1)+"A"); break; ^ gpa.java:149: cannot find symbol symbol : variable format location: class gpa case'B':outGrade.format(format,(j+1)+"A"); break; ^ gpa.java:150: cannot find symbol symbol : variable format location: class gpa case'C':outGrade.format(format,(j+1)+"A"); break; ^ gpa.java:151: cannot find symbol symbol : variable format location: class gpa case'D':outGrade.format(format,(j+1)+"A"); break; ^ gpa.java:152: cannot find symbol symbol : variable format location: class gpa case'F':outGrade.format(format,(j+1)+"A"); break;
Edited by peter_budo because: Keep It Clear - Do wrap your programming code blocks within [code] ... [/code] tags
- 4 Contributors
- forum 8 Replies
- 2,984 Views
- 7 Hours Discussion Span
- comment Latest Post Latest Post by tracydo
Write a Java Program to Read in a Data File, Calculate Grade Info
Source: https://www.daniweb.com/programming/software-development/threads/360310/read-write-to-file-for-grades-needed-help
0 Response to "Write a Java Program to Read in a Data File, Calculate Grade Info"
Post a Comment