講義メモ

・p.180「第7章 練習問題」から

提出フォロー:アレンジ演習:p.177 arraylist01.cs

・終了フラグを用いないようにしよう
・foreachが利用できるか試してみよう

作成例

//アレンジ演習:p.177 arraylist01.cs
using System;
using System.Collections;
class arraylist01 {
    public static void Main() {
        string strData; //入力用
        double sum = 0.0; //合計
        ArrayList al = new ArrayList(); //ArrayList配列を生成
        while (true) { //無限ループ
            Console.Write("データ(数値以外入力で終了)-- ");
            strData = Console.ReadLine();
            if (!Char.IsDigit(strData[0]) && strData[0] != '-') { //先頭文字が数字でなく-でもない?
                break; //【変更】ループを抜ける
            } else {
                al.Add(double.Parse(strData)); //ArrayList配列に格納
            }
        }
        int i = 0; //【追加】
        foreach (var w in al) { //【変更】ArrayList配列の全データについて繰返す
            Console.WriteLine("Data[{0}] = {1}", ++i, w); //【変更】
            sum += (double)w;  //【変更】実数に戻して合計に足し込む
        }
        int count = al.Count; //ArrayList配列の要素数を得る
        double avr = sum / count; //合計を割って平均値を得る
        Console.WriteLine("データ個数 = {0}", count);
        Console.WriteLine("平均値 = {0}", avr);
    }
}

p.180 練習問題1 ヒント

・クラス定義の例: class MyClass { public int n; }

作成例

//p.180 練習問題1 
using System;
class MyClass { //int型のpublic変数のみを持つクラス
    public int n; 
}
class arraylist01 {
    public static void Main() {
        MyClass m = new MyClass();
        m.n = 1;
        Console.WriteLine(m.n);
    }
}

p.180 練習問題2 ヒント

・int型とint型の和を求めるメソッドの戻り値型はint型にすると良い
・double型とdouble型の和を求めるメソッドの戻り値型はdouble型にすると良い
・上記はMainメソッドから利用するので、publicにすると良い

作成例

//p.180 練習問題2
using System;
class MyClass { //int型のpublic変数のみを持つクラス
    public int add(int a, int b) { //メソッド①
        return a + b;
    }
    public double add(double a, double b) { //①のオーバロード
        return a + b;
    }
}
class arraylist01 {
    public static void Main() {
        MyClass m = new MyClass();
        Console.WriteLine("{0} + {1} = {2}", 10, 20, m.add(10, 20)); //メソッド①を利用
        Console.WriteLine("{0} + {1} = {2}", 3.1, 3.2, m.add(3.1, 3.2)); //オーバロードを利用
    }
}

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です