メソッドに文字列を渡すメソッドを作成しようとしていて、その文字列に含まれる単語の数を表示したいとします。文字列は、テキストボックスからのユーザー入力です。メソッドを表示できません。ワードカウンタ
private void button1_Click(object sender, EventArgs e)
{
countMethod();
}
private string countMethod()
{
String text = textBox1.Text.Trim();
int wordCount = 0, index = 0;
while (index < text.Length)
{
// check if current char is part of a word
while (index < text.Length && Char.IsWhiteSpace(text[index]) == false)
index++;
wordCount++;
// skip whitespace until next word
while (index < text.Length && Char.IsWhiteSpace(text[index]) == true)
index++;
}
return MessageBox.Show(wordCount.ToString());
}
EDIT:
私は、メソッドに引数を追加しました。ループが完了したら、wordCountを文字列に送ります。私はそれを数回試して、それは動作します。私はプログラミングに慣れていないので、これがうまくいかない、あるいは別のやり方でやるべき理由がありますか?ありがとう
private void button1_Click(object sender, EventArgs e)
{
string userInput = textBox1.Text;
countMethod(userInput);
}
private string countMethod(string input)
{
string text = textBox1.Text.Trim();
int wordCount = 0, index = 0;
while (index < text.Length)
{
// check if current char is part of a word
while (index < text.Length && Char.IsWhiteSpace(text[index]) == false)
index++;
wordCount++;
// skip whitespace until next word
while (index < text.Length && Char.IsWhiteSpace(text[index]) == true)
index++;
}
string total = wordCount.ToString();
MessageBox.Show("The total words in this string are: " +total);
return total;
}
を取得しますか? – AnhTriet
'return MessageBox.Show' .....メソッドから返された' MessgeBox'を初めて見たことがあります。通常、メソッドはメッセージボックスを表示するか、呼び出しメソッドによってメッセージボックスに表示される値を返します。 – Tim
ティム、それは間違いだった、私はそれを修正した。 – sam