0
This is what I have so far:



     //class to calculate grades

    import java.util.StringTokenizer;
    public class Grades {

//variables
private String studentName;
private int studentId;
private double[] quizGrade;
private double[] homeworkGrade;
private double[] labGrade;
private double[] testGrade;
private double projectGrade;

//no args constructor
public Grades(){
    studentName = "";
    studentId = 0;
    quizGrade[16] = 0.0;
    homeworkGrade[10] = 0.0;
    labGrade[7] = 0.0;
    testGrade[3] = 0.0;
    projectGrade = 0.0;     
}

//parameter constructor
public Grades(String name, int id, double[] quiz, double[] homework, 
        double[] lab, double[] test, double project){
    studentName = name;
    studentId = id;
    quizGrade = quiz;
    homeworkGrade = homework;
    labGrade = lab;
    testGrade = test;
    projectGrade = project;
}

//mutator methods
public void setName(String name){
    studentName = name;
}

public void setId(int id){
    studentId = id;
}

public void setQuiz(double[] quiz){
    for(int i = 0; i < quizGrade.length; i++){
        quizGrade[i] = quiz[i];
    }
}

public void setHomework(double[] homework){
    for(int i = 0; i < homeworkGrade.length; i++){
        homeworkGrade[i] = homework[i];
    }
}

public void setLab(double[] lab){
    for(int i = 0; i < labGrade.length; i++){
        labGrade[i] = lab[i];
    }
}

public void setTest(double[] test){
    for(int i = 0; i < testGrade.length; i++){
        testGrade[i] = test[i];
    }
}

public void setProject(double project){
    projectGrade = project;
}

//accessor methods
public String getStudentName(){
    return studentName;
}

public int getStudentId(){
    return studentId;
}

public double getQuiz(){
    return quizGrade[15];
}

public double getHomework(){
    return homeworkGrade[10];
}

public double getLab(){
    return labGrade[7];
}

public double getTest(){
    return testGrade[3];
}

public double getProject(){
    return projectGrade;
}

ただし、ここに私が理解できないプロジェクトの一部があります: 注: キーボードから入力されたスコアの入力は文字列として読み取られ、その文字列をコンストラクターに渡し、コンストラクターで分割 (文字列のメソッド) を使用するか、 StringTokenizer を使用して、スコアをこれらの値の場所からクイズ配列の要素に分割します。他の割り当てについても同じことを行います。

すべての入力は制御クラスによって処理されます。文字列トークン化コンストラクターをセットアップする方法や、文字列を double[] に変換する方法がわかりません。

quizGrade のように、変数の 1 つだけを設定するための助けを得ることができれば、残りの変数を設定する方法を理解できると確信しています。

4

1 に答える 1

0

これが役立つと思います。そうでない場合は、コメントを残してください。そこから先に進みます。

String scores = "96.54 45.4 100";
String[] split = scores.split(" ");
double[] dblScores = new double[split.length];
for(int i = 0; i < split.length; i++){
    dblScores[i] = Double.valueOf(split[i]);
}

ユーザー入力 (スコア) は、スペースに基づいて文字列の配列に分割されます。double の配列が初期化されます。これで、いくつあるかがわかったからです。次に、Double.valueOf(String) を使用して、それぞれを新しい配列に解析します。注: 有効な double でない場合、これは NumberFormatException をスローします。

于 2013-04-27T01:50:36.983 に答える