![](/img/trans.png)
[英]How can I use the Strings values stored in a main class in my secondary class? (see description for details. Java)
[英]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.