簡體   English   中英

如何通過另一個 class 的方法調用實例變量的 class

[英]How to call a class of instance variables through a method of another class

我正在為學校做一個項目,需要我為一所學校建立一個等級系統我很難理解為什么當我有一個公共變量的 class 時,不允許在另一個 class 的方法中調用它們。 有人可以舉個例子或解釋一下這是如何工作的嗎?

public void AddEngGrade(Grades obj)
{
Scanner sc1 = new Scanner(System.in);


System.out.println("Which Grade would you like to enter");
System.out.println("");
System.out.println("Major");
System.out.println("Minor");
System.out.println("Other");
System.out.println("");

String gr = sc1.nextLine();

if(gr.equals("Major"))
{
  System.out.print("Please enter the grade here - ");
  obj.EngMajor = sc1.nextInt();
  obj.EngMajPoints += obj.EngMajor;
  obj.EngMajorTot++;
  obj.EngMajAvg = (obj.EngMajPoints/2)*(.6);
}

帶變量的class如下

import java.util.*;
public class Grades
{
public int EngMajor = 0;
public int EngMinor = 0;
public int EngOther = 0;
public int EngMajorTot = 0;
public int EngMinorTot = 0;
public int EngOtherTot = 0;
public double EngMajAvg = 0;
public double EngMinAvg = 0;
public double EngOtAvg = 0;
public int EngMajPoints = 0;
public int EngMinPoints = 0;
public int EngOtPoints = 0;
}

我認為你以錯誤的方式接近你的課程設計。 由於這是家庭作業,我不想提供解決方案。 等級 class 應該不在乎它是主要還是次要。 成績是學生參加課程所獲得的東西。 該課程是主修課程還是副修課程是學生課程的一個屬性。 課程沒有主要/次要屬性。

要計算該專業的平均分、總分等,您需要迭代學生課程中屬於該專業的課程的成績。 學生 class 可以有一個名為 computeMajorGPA() 或 computeGPA(some enum) 的方法。

我建議您避免使用復數的類。 我認為代表單個對象的類是更好的設計,多個對象應該由一個集合處理。

暫無
暫無

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

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