using System;
using System.Collections;
class array01{
public static void Main(){
bool bEnd = false;
string strData;
double sum = 0.0;
ArrayList al = new ArrayList();
while (true){
Console.Write("Data___");
strData = Console.ReadLine ();
if(!Char.IsDigit(strData[0]) && strData[0] != '-'){//←ここがわかりません
bEnd = true;
}else{
al.Add (double.Parse (strData));
}
if(bEnd){
break;
}
for(int i = 0; i< al.Count; i++){
Console.WriteLine ("Data[{0}] = {1}",i+1,al[i]);
sum +=(double)al[i];
}
int count = al.Count;
double avr = sum/count;
Console.WriteLine ("Count = {0}",count);
Console.WriteLine ("The average = {0}",avr);
}
}
}
「←ここがわかりません」と書いてある部分についてなのですが、strData[0]はなぜ急に配列のような書き方に変わっているのでしょうか?
strDataにするとエラーになってしまいます。
あと、strData[0] != '-'の部分の「-」このハイフンは何を表しているのでしょうか?
初歩的な質問ですがよろしくお願いします
「←ここがわかりません」と書いてある部分についてなのですが、strData[0]はなぜ急に配列のような書き方に変わっているのでしょうか?
それは、IsDigit の引数ひとつの場合には、char を受けるように決まってるから。
http://msdn.microsoft.com/en-us/library/7f0ddtxh.aspx
strDataにするとエラーになってしまいます。
こういうメソッドもある。
http://msdn.microsoft.com/en-us/library/0t641e58.aspx
あと、strData[0] != '-'の部分の「-」このハイフンは何を表しているのでしょうか?
それは、C# に関係なく、そのアプリの仕様の話。
空行を入力するか、'-' を入力したら足し算のループを止めたいんでしょ。
プログラムのやっていることは、ループで数値を入力させ、数字以外ならループを終了します。
そして、入力された数値の和を取っています。
わからないというところで、'-'はマイナスの場合を意味しています。
マイナスは先頭が-ですから。
それと配列にいきなりなるといいますが、.NETではstring型は配列の表記で一文字ずつアクセスできます。
コメント(0件)