質問するログイン新規登録

Q&A

解決済

3回答

964閲覧

3回処理したら次に行くようにしたい。

退会済みユーザー

退会済みユーザー

総合スコア0

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

0グッド

0クリップ

投稿2019/06/26 03:09

編集2019/06/26 03:33

0

0

NET, Visual Studio 16.1.2を使ってフォームアプリケーションを製作しています。

C#

1private void Button13_Click(object sender, EventArgs e) 2 { 3 4 //ここまで戻す処理を書きたい。 5 for (int i = 0; i > 3; ) 6 { 7 if (textBox1.Text == "11111") 8 { 9 textBox2.Text = "w1"; 10 } 11 else if (textBox1.Text == "111112") 12 { 13 textBox2.Text = "w2"; 14 } 15 else if (textBox1.Text == "111113") 16 { 17 textBox2.Text = "w3"; 18 } 19 else if (textBox1.Text == "111114") 20 { 21 textBox2.Text = "w4"; 22 } 23 24 else 25 { 26 textBox2.Text = "該当なし"; 27 } 28 29 i++; 30 } 31 Form1 f1 = new Form1(); 32 f1.Show(); 33 this.Close();            //3回処理したらForm1に戻る 34 35 // 1,2回目までは戻どって、3回処理したら次の処理に行きたい 36    37 38 }

今繰り返す処理を書きたいと思ったのですが、やり方わからず質問しました。

自分で試したのは配列、goto文for文だけど、for,配列は思う通りにコードを書けず失敗
go toうまく使い方がわからず質問しました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

退会済みユーザー

退会済みユーザー

2019/06/26 03:13

ループの処理として何がわからなかったのか、提示のコードでは不明です。 「失敗した」コードと、何が意図した動作と違ったのか書くと、適切なアドバイスが受けられます。
y_waiwai

2019/06/26 03:13

for文で書いて、思う通りにかけなかったコードを提示しましょう コードを全部書いてくれ、よりも、あなたのコードを添削していくほうが有用です
m.ts10806

2019/06/26 03:26

3回処理した結果どういう状態になる仕様を想定されていますでしょうか。 要件を具体的に記載してください。
退会済みユーザー

退会済みユーザー

2019/06/26 03:32

修正してみました。まだわからない所がありましたら、コメントお願いします。
guest

回答3

0

for分の書き方が間違っています。

for ( 初期化式; 条件式; 更新式)

初期化式は良いとして、条件式は間違えやすいところですね。
条件式がtrueなら、反復処理が継続しますので、ご自分の式をよーく確認してみてください。

投稿2019/06/26 03:41

k.matsuda

総合スコア293

0

ベストアンサー

for (int i = 0; i > 3; )

形はfor(初期化式; 条件式; 更新式)です。
もちろんいずれも任意であるため入れないこともできますが、
これでは条件式がi が3より大きい時に繰り返すとなっているにも関わらず、
更新式がないため、1週も回りません
もちろんfor (int i = 0; i > 3;i++ )としたところでiは初期値0なので1週も回りません。
for (int i = 4; i > 3;i++ ){としたら無限ループです。
「3より大きい時に繰り返す」ですからね。

※まずはそれぞれに改修して動かしてみてください。無限ループは途中で処理止めてくださいね。ほっといても終わらないので。

きちんと「3になる"まで"」にしましょう。

C#

1 for (int i = 0; i < 3; i++ ){ 2 System.Console.WriteLine(i); 3 } 4

投稿2019/06/26 03:36

編集2019/06/26 03:53
m.ts10806

総合スコア80896

m.ts10806

2019/06/26 03:53

「以上」だと3を含むので表現調整しました。
guest

0

すでについている回答とは違う観点で。

ループの終わりにi++とインクリメントしていますが、この書き方でループさせる場合は、whileとかdo-whileとかを使用します。
参考まで。

投稿2019/06/26 03:55

退会済みユーザー

退会済みユーザー

総合スコア0

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.29%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問