/// 実習D6 制御文(For 〜Next)と配列 | プログラミング実習 |
プロジェクト名 実習D6複数データの合計
動作
複数の整数データをカンマで区切って入力する。そのデータの合計を
デザイン
フォームのプロパティ
Font.Size = 11
Size = 360, 180
コード(プログラム) [終了ボタン]のメソッドは省略しています。
Public Class Form1
Private Sub btnKeisan_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnKeisan.Click
Dim xdata() As String
Dim goukei, n As Integer
@ = 0
xdata = tbxData.Text.Split(",")
For n = 0 To A - 1
goukei = goukei + CInt(xdata(n))
Next
MessageBox.Show("合計は" & goukei.ToString & "です。",
"実習D6")
End Sub
End Class
キーワード
Split : スプリット。データを指定された区切り文字で区切り、添字が0から始まる1次元配列にする。
解説
tbxData.Text.Split(",")は、tbxDataオブジェクトのTextプロパティの値に対して、”,”を区切り文字として区切り、1次元の配列xdataに格納する。
Textプロパティは文字型のデータであるから、配列xdataも文字型(String)で宣言する。例1 3,4,5と入力するとxdata(0)=3,xdata(1)=4,xdata(2)=5と格納される。
例2 tbxData.Text.Split("/")と変更する。12/34/56と入力する。
xdata(0)=12,xdata(1)=34,xdata(2)=56と格納される。
テスト
データ=10,20,30,40,50 ⇒ 合計は150です。
データ=,10,20,30 ⇒ エラーになる(中断する)。理由 配列の値はxdata(0)=(空), xdata(1)=10, xdata(2)=20, xdata(3)=30となる。(空)は値がないので、存在しない値をCintで整数に変換できなくてエラーになる。“10,20,30,”、“10,,20,30” や未入力の場合もエラーになる。
Memo
他の書き方 xdata = Split(tbxData.Text, ",")
/// 実習D6 制御文(For 〜Next)と配列 | Copyright©2014 Hiroshi Masuda |