0

I am running into a problem. enter image description hereI am using a file writing, reading and creating method. It basically creates a file called filename.txt then writes the grade point average to it. Then when you rerun the file unless you delete the file the program will recognize it and read it once it recognizes the file and reads it it simply converts it to a GPA number then prints it out to the screen. And offers you a y/n question if you want to insert a new GPA if yes it simply deletes the file and restarts. The problem is it just starts printing out random I sent off a screenshot of it happening if you enter the input I enter you'll see it does that. I left the code below and I created a git. The code is barely readable to With all the try/catch statements and the if/else's. Is there an easier way to save input after the program is closed because I am pretty sure this is not the correct way to save stuff to your system. Please let me know if you know a solution to this. Forgive me if I have not wrote this question correctly I am new to this stack overflow thing.

File.java

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
import java.io.FileNotFoundException;


public class Files {



    public static void main(String[] args)
     {
        Scanner sc  = new Scanner(System.in);
        boolean quit=false;

        while (!quit) {
            System.out.println("Enter your grade average in percent form. Type 1010 to exit.");
            double grade_Average = sc.nextDouble();
            try {
                File myObj = new File("filename.txt");
                if (myObj.createNewFile()) {
                    try {
                        FileWriter myWriter = new FileWriter("filename.txt");
                        myWriter.write((int)grade_Average);
                        myWriter.close();

                        if (grade_Average <= 59) {
                            System.out.println("0.0 GPA");
                        } else if (grade_Average <= 62) {
                            System.out.println("0.7 GPA");

                        } else if (grade_Average <= 63) {
                            System.out.println("1.0 GPA");

                        } else if (grade_Average <= 69) {
                            System.out.println("1.3 GPA");

                        } else if (grade_Average <= 72) {
                            System.out.println("1.7 GPA");
                        } else if (grade_Average <= 76) {
                            System.out.println("2.0 GPA");

                        } else if (grade_Average <= 79) {
                            System.out.println("7.3 GPA");

                        } else if (grade_Average <= 82) {
                            System.out.println("2.7");

                        } else if (grade_Average <= 86) {
                            System.out.println("3.0 GPA");

                        } else if (grade_Average <= 89)
                            System.out.println("3.3");

                        else if (grade_Average <= 92) {
                            System.out.println("3.7 GPA");

                        } else if (grade_Average <= 100) {
                            System.out.println("4.0 GPA");
                        }

                        else if (grade_Average == 1010) {
                            System.out.println("Quiting...");
                            quit = true;
                        }

                        else {
                            System.out.println(" Invalid Input Please try again");
                        }


                    } catch (IOException e) {
                        System.out.println("An error occurred.");
                        e.printStackTrace();
                    }


                } else {
                    try {
                        File ob = new File("filename.txt");
                        Scanner myReader = new Scanner(ob);
                        while (myReader.hasNextLine()) {
                            String data = myReader.nextLine();
                            System.out.println(data);
                        }
                        myReader.close();
                    } catch (FileNotFoundException e) {
                        System.out.println("An error occurred.");
                        e.printStackTrace();
                    }
                }
            }

            catch (IOException e) {
                System.out.println("An error occurred.");
                e.printStackTrace();
            }





            if (grade_Average <= 59) {
                System.out.println("0.0 GPA");
            } else if (grade_Average <= 62) {
                System.out.println("0.7 GPA");

            } else if (grade_Average <= 63) {
                System.out.println("1.0 GPA");

            } else if (grade_Average <= 69) {
                System.out.println("1.3 GPA");

            } else if (grade_Average <= 72) {
                System.out.println("1.7 GPA");
            } else if (grade_Average <= 76) {
                System.out.println("2.0 GPA");

            } else if (grade_Average <= 79) {
                System.out.println("7.3 GPA");

            } else if (grade_Average <= 82) {
                System.out.println("2.7");

            } else if (grade_Average <= 86) {
                System.out.println("3.0 GPA");

            } else if (grade_Average <= 89)
                System.out.println("3.3");

            else if (grade_Average <= 92) {
                System.out.println("3.7 GPA");

            } else if (grade_Average <= 100) {
                System.out.println("4.0 GPA");
            }

            else if (grade_Average == 1010) {
                System.out.println("Quiting...");
                quit = true;
            }

            else {
                System.out.println(" Invalid Input Please try again");
            }


        }
    }

}

0 Answers0