質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.50%
C#

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

while

Whileは多くの言語で使われるコントロール構造であり、特定の条件が満たされる限り一連の命令を繰り返し実行します。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Q&A

解決済

2回答

2853閲覧

while文の中で宣言した変数を外で使いたい

ymdhotnoa

総合スコア12

C#

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

while

Whileは多くの言語で使われるコントロール構造であり、特定の条件が満たされる限り一連の命令を繰り返し実行します。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

0グッド

0クリップ

投稿2020/01/25 05:43

編集2020/01/25 05:45

前提・実現したいこと

発生している問題・エラーメッセージ

while分の中で作った変数が得られない

該当のソースコード

C#

1int z = 12 2 do { 3 int one = UnityEngine.Random.Range(1, 11); 4 5 int two = UnityEngine.Random.Range(1, 11); 6 7 int answer = one + two; 8 9 Debug.Log(one + "+" + two + "+" + "=" + answer); 10 11 12 } while (z == answer);//answerのところでエラーが起きています

試したこと

インターネットで調べて同じような悩みを持った人は見つかりましたが言語が違いました

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

miyabi_takatsuk

2020/01/25 05:48

C#詳しくないのですが、 そのz変数と同様に、別のint型の変数を外側で宣言して、 while(do)の中で代入すればいいのではないでしょうか? (詳しくないので、こちらで)
ymdhotnoa

2020/01/25 06:08

ランダムな変数を何回も作りたいのですがどうすればいいでしょう?
miyabi_takatsuk

2020/01/25 06:12 編集

まず、そのことを、 質問本文に含めて下さい。 複数の値を保持するなら、配列ないし連想配列というデータ形式が必要になるかと思います。
BeatStar

2020/01/25 06:19

int one とかをdo...whileの上辺りで定義すればいいのでは。
m.ts10806

2020/01/25 07:02

>インターネットで調べて同じような悩みを持った人は見つかりましたが言語が違いました ロジックは参考にできるのでは。
ymdhotnoa

2020/02/07 06:41

すみません、今度から 何がしたいかを明確に示すようにします
m.ts10806

2020/02/07 06:43

質問は何度でも編集できるので指摘があったら都度対応された方が結果的に良いアドバイスを得られると思います。
guest

回答2

0

ならその変数をwhileの外で作りましょうよ

投稿2020/01/25 05:48

y_waiwai

総合スコア87719

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ymdhotnoa

2020/01/25 06:08

ランダムな変数を何回も作りたいのですがどうすればいいでしょう?
mmaeda

2020/01/25 06:58

{ から、} までに宣言された変数は、その中でしか使えません。そのため、answer にはアクセスできません。answer を、while 文に入る以前に、定義すれば、{} ブロック内と、while() 内からアクセスできます。
ymdhotnoa

2020/02/07 06:43

できました、ありがとうございます
guest

0

ベストアンサー

変数の宣言と代入の区別がついていないのではないですか?
例えば

C#

1int a = 1; // int型の変数aを宣言し代入を行う

というのは

C#

1int a; // int型の変数aを宣言する 2a = 1; // 変数aに値を代入する

というのと同じです。

今回の場合は変数の宣言はループの外で、変数への代入はループの中で行いましょう
というのが皆さんの回答です。

投稿2020/01/25 07:11

YAmaGNZ

総合スコア10222

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ymdhotnoa

2020/02/07 06:42

解決しました、ありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問