簡體   English   中英

如何使用我在 main in java 中創建的 class?

[英]How can I use the class I created in my main in java?

我正在處理 Java 代碼,它采用 Student 類型的數組和學生人數,它應該返回學生 CGPA 的平均值,我應該使用一個名為 Student 的 class 我已經完成了,但我想將它包含在我的主要.

計算CGPA平均值的主要代碼:

import java.util.*;

public class Test4{

   public static void main(String [] args){
      Scanner adnan = new Scanner(System.in);
      System.out.println("Enter number of students : ");
      int length = adnan.nextInt();
      double [] input = new double[length];
      System.out.println("Enter Cgpa of students : ");
      for( int i = 0; i < length; i++){
         input[i] = adnan.nextDouble();
      }
      double averageCgpa = averageCgpa(input);
      System.out.println("Average of students Cgpa : " + averageCgpa);
      adnan.close();
   }

   public static double averageCgpa(double [] input){
      double sum = 0f;
      for ( double number : input){
         sum = sum + number;
      }
      return sum / input.length;
   }
}

我的學生 class:

public class Student {

    private double grade;

    public Student() {}

    public Student(double grade) {
        this.grade = grade;
    }

    public double getGrade() {
        return grade;
    }

    public void setGrade(double grade) {
        this.grade = grade;
    }

    public String toString() {
        return "Student{" +
                "grade=" + grade +
                '}';
    }
}

我需要實現 class 才能與 main 一起使用,但我需要將它們分別保存在不同的文件中。

確保他們在同一個package,然后就可以直接在Main class中使用Student class了。

從 Student class 實例化以在 Main class 中使用它

package ThePackageYourClassesAreIn;
public class Test4{
   public static void main(String [] args){
      double grade = 100.0; // some grade
      Student student = new Student(grade);  // instantiate from Student 
      // Do stuff with student object
   }
   public static double averageCgpa(double [] input){
     // Do stuff
   }
}

如果 Class 文件來自不同的包,請同時提及 package。

import OtherPackage.Student;

以下是如何將Student class 合並到您的代碼中。 只需使用Student List 每次輸入成績時添加一個學生,當您想要計算平均值時,只需迭代學生列表並調用getGrade而不是使用雙基本類型。

測試4.java

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Test4 {
   public static void main(String[] args) {
      try(Scanner adnan = new Scanner(System.in)) {

         System.out.print("Enter number of students: ");
         int length = adnan.nextInt();
         List<Student> input = new ArrayList<>(length);
         System.out.println("Enter Cgpa of students: ");

         for (int i = 0; i < length; i++) {
            System.out.print("Student " + (i + 1) + ": ");
            input.add(new Student(adnan.nextDouble()));
         }

         double averageCgpa = averageCgpa(input);
         System.out.println("Average of students Cgpa: " + averageCgpa);
      }
   }

   public static double averageCgpa(List<Student> input) {
      double total = 0f;
      for (Student s: input) {
         total += s.getGrade();
      }
      return total / input.size();
   }
}

學生.java

public class Student {
    private final double grade;
    public Student(double grade) {
       this.grade = grade;
    }
    public double getGrade() {
       return grade;
    }
    public String toString() {
       return "Student{" + "grade=" + grade + '}';
    }
}

這沒有 package 語句,因為它僅用於演示目的。 只要兩個類都在同一個 package(在本例中為默認包)中,那么您就不需要導入。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM