Как отобразить вывод файла поддержки в main при вызове без синтаксических ошибок? - PullRequest
0 голосов
/ 15 октября 2018

У меня проблемы с выполнением файла поддержки (GSUStudent) в основном файле (Part2.java).

Вспомогательный файл GSUStudent (с gradeCalc, который используется для определения оценок и методов их расчета) используется для сканирования имени, фамилии и всех шести классов (2 HW, тесты и тесты).), а затем рассчитайте итоговую оценку вместе с отображением имени и фамилии вместе.

Выходные данные должны быть такими, как Firstname Lastname- Final Average 99.9 and Firstname Lastname- Final Average 72.7.Однако я сталкиваюсь с ошибками всякий раз, когда пытаюсь вызвать GSUStudent (который включает gradeCalc) в основной файл Part2.java.

Я пытаюсь решить эту проблему, добавив параметры, которые относятся к двум строкам (имя / фамилия; оба в кавычках) и к двойным значениям 7 (2 теста, тесты, HW и итоговое среднее), но он печатаетиз тех введенных значений и полностью пропускает шаги в GSUStudent.java, которые требуют от пользователя ввода его / ее оценок.Нет сканирования для сохранения значений;он просто переходит к последнему шагу и отображает вывод.Следовательно, я удалил Strings / doubles в круглых скобках, и у меня остался пустой параметр для gradeCalc.

Есть ли способ вызвать GSUStudent и его gradeCalc в файл Part2.java для их выполнения?

Это Part2.java:

    import java.util.Scanner;
    public class Part2
    {
      public static void main(String[] args)
      {


        GSUStudent student1= new GSUStudent(gradeCalc);//I am trying to get the new GSUStudent to call the GSU.java file, and then print out the final results
        GSUStudent student2= new GSUStudent(gradeCalc);

        System.out.println(student1); /*This is supposed to print out something 
 such as (your first name) (your last name)- Final Average (a number)*/
        System.out.println(student2);


      }}

Этофайл GSUStudent.java:

    import java.util.Scanner;


    public class GSUStudent //calls GSUStudent
    {
      Scanner scan = new Scanner(System.in);
      String student_name, student_lastname; //creates string for first and last names
      double studentHomework1, studentHomework2, studentQuiz1, studentQuiz2, studentTest1, studentTest2; //creates 6 doubles
      double finalGrade; //7th double which is calculated from the previous 6 doubles


      String firstName, lastname;
      public GSUStudent (String firstName, String lastName, double homeworkA, double homeworkB, double quizA, double quizB, double testA, double testB, double TheFinalGrade)
      { //assigns the Strings/doubles
       student_name=firstName;
       student_lastname= lastName;
       studentHomework1= homeworkA;
       studentHomework2= homeworkB;
       studentQuiz1= quizA;
       studentQuiz2= quizB;
       studentTest1= testA;
       studentTest2= testB;
       finalGrade= TheFinalGrade;
      }
      //gradeCalc begins here: vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
      public class gradeCalc {
        {




      System.out.println("Student 1 will enter his/her credentials: "); //User enters first name
      System.out.println("Enter your first name: ");
      student_name = scan.nextLine();


      System.out.println("Enter your last name: "); //User enters last name; scanning the two Strings
      student_lastname = scan.nextLine();

     //Homework grade section
       System.out.println("\nPlease enter your homework grades."); //User enters grade for both homeworks and those grades are assigned to a value
       System.out.println("\nHomework 1: "); 
        double homeworkA = scan.nextDouble();
       System.out.println("Homework 2: ");
        double homeworkB = scan.nextDouble();  
          //Quiz Grade Section

    System.out.println("\nPlease enter your quiz grades"); //User enters quiz grades and those are also stored in values
    System.out.println("\nQuiz 1: ");
     double quizA = scan.nextDouble();
    System.out.println("Quiz 2: ");
     double quizB = scan.nextDouble();


     //Test Grade Section

       System.out.println("\nPlease enter your test grades."); //Like before, this scans the user input for test grades and stores them in two separate values
       System.out.println("\nTest 1: ");
        double testA = scan.nextDouble();
       System.out.println("Test 2: ");
        double testB = scan.nextDouble();


          double homeworkAverage = ((double)homeworkA + (double)homeworkB)/2; //averages those HW grades
       double quizAverage = ((double)quizA + (double)quizB)/2; //averages quiz grades
       double testAverage = ((double)testA + (double)testB)/2; //averages test grades
       double finalGrade = (testAverage*.40) + (quizAverage*.35) + (homeworkAverage*.25); /*multiplies the grades to their respective weight/value and adds them up
        to calculate the final grade*/
        }
    }
      //gradeCalc ends here: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^




      public void set_all (String firstName, String lastName, double homeworkA, double homeworkB, double quizA, double quizB, double testA, double testB)
      {
       student_name=firstName; //sets the First names and last names
       student_lastname= lastName;
       studentHomework1= homeworkA;
       studentHomework2= homeworkB;
       studentQuiz1= quizA;
       studentQuiz2= quizB;
       studentTest1= testA;
       studentTest2= testB;
      }  

      //all of th following returns the names and grades entered
      public String get_FirstName() {return student_name;}  
      public String get_Lastname() {return student_lastname;}  
      public double get_HomeworkA() {return  studentHomework1;}
      public double get_HomeworkB() {return  studentHomework2;}
      public double get_QuizA() {return  studentQuiz1;}
      public double get_QuizB() {return  studentQuiz2;}
      public double get_TestA() {return  studentTest1;}
      public double get_TestB() {return  studentTest2;}
      public double get_FinalGrade() {return  finalGrade;}

      public String toString() {return student_name+" "+student_lastname+"- Final Average "+finalGrade;} //Firstname Lastname- Final Average #
    }

Единственная проблема, которую мне нужно понять, это как выполнить файл GSUStudent в основном файле Part2.

Параметры в файле Part2 пустыради не инициализации ничего, что вводится.Например, программа работала бы хорошо, если бы это было то, что я вставил: GSUStudent student1= new GSUStudent("Firstname", "Lastname", 99.9, 99.9, 72.7, 72.7, 88.6, 88.6, 89);
Однако, она пропускает все шаги в файле GSUStudent.java и просто отображает «Имя Фамилия Окончательное среднее - (число)» вместо этого,Я хочу, чтобы программа позволяла пользователю вводить имена / номера, а затем отображать настоящие имена / фамилии пользователя вместе с итоговой оценкой этого пользователя.Программа не должна пропускать шаги в GSUStudent, она должна вызывать ее.

...