ここから本文です

解決済みの質問

知恵コレに追加する

var i = 0;・・0が初期化する役割?

mtaiyo08さん

var i = 0;・・0が初期化する役割?

<HTML>
<HEAD>
<TITLE>はじめてのwhile</TITLE>
</HEAD>

<BODY>
<SCRIPT LANGUAGE ="JavaScript">
<!--
var zankin = 50000;
var i = 0;

while (zankin>2449)
{
i++;
zankin = zankin -2500;
document.write("<CENTER>"+i+"日目に金銭が"+zankin +
"円になります。</CENTER><BR>");
}
//-->
</SCRIPT>
</BODY>
</HTML>
以上のプログラムで
var i = 0;の説明で、「iには0を代入することで繰り返しの変数のiを初期化しておきます。これによって、数値を入力する前が0であることを示すのです。」
とあります、初期化するってどうゆうことなのでしょうか?たしかにこのプログラムでは0から始めないとi++の関係上うまく動かないはずだと思いますが? 時間がなくてロジックがうまくいっていないみたいですがよろしくお願いいたします。

補足
失礼しました。ロジックとは私の説明のことで?朝出かける前で時間がなくて、ちゃんと見直さなかったので、心配して・・けしてプログラムのことを言ったのではございません^^

違反報告

ベストアンサーに選ばれた回答

akry_ckさん

初期化とは変数を宣言し、初期の値を設定しておくことです。そのまんまです。
その例では初期化をしなくても動作しますが、プログラムを把握し易くする為にもあった方が良いです。

ちなみにそのようなループはfor文を使うことでも可能です。
for (zankin=5000;zankin>2449;zankin=zankin-2500)


他、細かい指摘等

・閉じタグに含まれるスラッシュは「\/」とエスケープしておくことをお勧めします。
・language属性はhtml4.01で非推奨とされたので、なるべくtype属性での指定を奨めます
<SCRIPT LANGUAGE ="JavaScript">→<SCRIPT TYPE="text/javascript">

  • 違反報告
  • 編集日時:2009/11/23 11:59:37
  • 回答日時:2009/11/23 11:56:48

質問した人からのコメント

  • 感謝ご回答ありがとうございました。少し考えすぎていたみたいです。
    var i = -1 -2・・・ -100等に数字を変えていくと、表示が-99から表示されますが。20回の回数はおなじであり。表示の問題上0~スタートしないと問題の趣旨と食い違ってくるから0からスタートした・・
  • コメント日時:2009/11/29 06:36:58

グレード

この質問・回答は役に立ちましたか?
はい
いいえ

お役立ち度:お役立ち度 0点(5点満点中)0人中 0人が役に立つと評価しています。

ベストアンサー以外の回答

1件中11件)

 

qwertyuio3456さん

var i ; だけですと、iの値は不定になります。不定とは実行してみないと値が確定しないということです。
値が確定しても、その値が10000とかになれば、処理結果はおかしくなります。
また、数字以外の値が入っていれば、実行時のエラーとなります。

どのような処理をしたいのかが、不明ですのでロジックがうまくいっていないと言われても、回答に困ります。

実行すると以下のような表示になりますが、何が問題なのですか。

1日目に金銭が47500円になります。


2日目に金銭が45000円になります。


3日目に金銭が42500円になります。


4日目に金銭が40000円になります。


5日目に金銭が37500円になります。


6日目に金銭が35000円になります。


7日目に金銭が32500円になります。


8日目に金銭が30000円になります。


9日目に金銭が27500円になります。


10日目に金銭が25000円になります。


11日目に金銭が22500円になります。


12日目に金銭が20000円になります。


13日目に金銭が17500円になります。


14日目に金銭が15000円になります。


15日目に金銭が12500円になります。


16日目に金銭が10000円になります。


17日目に金銭が7500円になります。


18日目に金銭が5000円になります。


19日目に金銭が2500円になります。


20日目に金銭が0円になります。

<補足回答>
失礼しました。ロジックとは私の説明のことで?朝出かける前で時間がなくて、ちゃんと見直さなかったので、心配して・・けしてプログラムのことを言ったのではございません^^
==>了解

  • 違反報告
  • 編集日時:2009/11/24 09:09:16
  • 回答日時:2009/11/23 08:03:08
回答ありがとうキャンペーン 回答してポイントを当てよう!! 2000名様に500ポイントプレゼント キャンペーンの詳細を見る ※回答することで自動的に応募となります。

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。

お客様自身の責任と判断で、ご利用ください。

話題のキーワード

[カテゴリ:JavaScript]

ただいまの回答者

17時36分現在

2925
人が回答!!

1時間以内に5,914件の回答が寄せられています。