2016-04-29 5 views
0

私が何をしようとしているのは、自分のワークロードを年間計画するために使用できるものを作ることです。私は自分のクラスの名前、ページの量とクラスの難しさを手動で入力するプログラムを書いています。ArrayListからintを別のクラスで使用する

私は先ほど名前を挙げたすべてのデータと、計算作業を担当する別のクラスを入れてクラスを作成しています。大学の授業についての情報を含む

Javaクラス:

public classInfo(String className, int classAmount, int classDifficulty, int classTime) 
    { 
     name = className; // name of the class 
     amount = classAmount; // amount of pages 
     difficulty = classDifficulty; // difficulty (1 = easy >> 3 = hard) 
     time = classTime; // time you have (1 or 2 semesters) 
    } 

    /** 
    * Prints all the data you have put in about this class 
    */ 
    public void printInfo() 
    { 
     System.out.println("Vak: " + name); 
     System.out.println("Hoeveelheid leerstof: " + amount + " pagina's"); 
     System.out.println("Moeilijkheidsgraad: " + difficulty); 
     System.out.println("Dit vak duurt: " + time + " semester(s)"); 
    } 

    public String toString() 
    { 
    return naam; 
    } 
} 

私はこれらのメソッドをテストし、私は彼らがに期待するように、それらすべてが働きます。最後のメソッド(toString())は、私が2番目のクラスのArrayListに保存したすべてのクラスのリストを出力できるように作成したメソッドです。計算をする予定のもの。 (計算を行う必要があります1)私はJavaの私はに保存されている異なる整数間の違いを見分けることができますどのように思ったんだけど

import java.util.ArrayList; 
public class Planner 
{ 
    private ArrayList<ClassInfo> course; 
    private int index; 

    /** 
    * constructor 
    */ 
    public Planner() 
    { 
     course = new ArrayList<ClassInfo>(); 
    } 

    /** 
    * This method is used to add classes to the ArrayList 
    */ 
    public void addClass(ClassInfo aCourse) 
    { 
     course.add(aCourse); 
    } 

    /** 
    * With this method you can print all the names of the classes that are currently in the ArrayList 
    */ 
    public void showClass() 
    { 
     for(index = 0; index < course.size(); index++) 
     { 
      System.out.println(course.get(index)); 
     } 
    } 

    /** 
    * This method is used to calculate the workload of the classes. 
    */ 
    public void berekenKlas() 
    { 
     /////// HERE IS MY PROBLEM. ///// 
    } 
} 

:ここ

は私の第二のクラスの概要です配列リスト。

私がしたいことは、クラスの名前をループするメソッドのようにすべてのクラスをループし、「ページの量」と「時間」のデータを2つの異なる変数に保存することです。

私が現在取り組んでいるのは、これを行う方法がわからないということです。アイデアを持っている人は誰ですか?

ありがとうございます。

+0

すでにループがあるので、値を抽出する方法は明らかです。そこから何をしたいですか? 「データを保存する」とはどういう意味ですか? – Mumfi

+0

必要な2つのデータを生成する2つのメソッドを持つことができます 'public int totalTime() { int result = 0; for(index = 0; index diarmuid

+0

私は、Javaに使いたい2つの整数の違いを伝える方法を見つけようとしています。両方の整数は同じArrayListに保存されます。 – FreddyGump

答えて

0

まず第一に、あなたはあなたのforループを構築するforeachを使用することができます。

public void showClass() { 
    for(ClassInfo courseItem: course) { 
     System.out.println(course); 
    } 
} 

しかし、私はあなたの質問を理解していませんでした。 ArrayListのClassInfoタイプの異なる整数を別々のフィールドに分割するために、すでにフィールドを使用しています。

2つの値を保存するには、それらの値で何をしたいかによって、別のクラスを作成することができます。

0

ArrayListには、intではなくClassInfoオブジェクトインスタンスがあります。 各ClassInfoインスタンスには、名前、量、難易度、時間属性が含まれています。

属性にアクセスするには、を使用します。オペレーター。たとえば:

public void showClass() { 
    for (ClassInfo classInfo:course) { 
     System.out.println("Name of class:"+classInfo.name); 
     System.out.println("Time needed:"+classInfo.time+" semesters"); 
     // and so on 
    } 
} 

注-のための各ループの使用(それは10年以上の古いJavaの構造体のようなものです、あなたの家庭教師やインターネットに相談してください)。私は標準の字下げを使用することを検討し、Javaコーディング標準を採用することにより、生活が楽になります:)

+0

ありがとう、ジービー!非常に役立ちます! – FreddyGump

関連する問題