JavaScriptで星座の判定プログラムを作成中にconsoleに表示されないエラーが発生する

このQ&Aのポイント
  • JavaScriptで星座の判定プログラムを作成中にconsoleに表示されないエラーが発生します。
  • 作成したif文が間違っている可能性があります。
  • monとdayを事前に入力させて関数で呼び出していますが、どの数字にしても最後のerrorしか表示されません。
回答を見る
  • ベストアンサー

JavaScriptについて

現在勉強中で星座の判定のプログラムなんですが、consoleに表示させようといていて表示されません。 function seiza(){ if(((mon===3)&&(day>=21))||((mon===4)&&(day<=19))){ return "牡羊座"; }else if(((mon===4)&&(day>=20))||((mon===5)&&(day<=20))){ return "牡牛座"; }else if(((mon===5)&&(day>=21))||((mon===6)&&(day<=21))){ return "双子座"; }else if(((mon===6)&&(day>=22))||((mon===7)&&(day<=22))){ return "蟹座"; }else if(((mon===7)&&(day>=23))||((mon===8)&&(day<=22))){ return "獅子座"; }else if(((mon===8)&&(day>=23))||((mon===9)&&(day<=22))){ return "天秤座"; }else if(((mon===10)&&(day>=24))||((mon===11)&&(day<=22))){ return "蠍座"; }else if(((mon===11)&&(day>=23))||((mon===12)&&(day<=21))){ return "射手座"; }else if(((mon===12)&&(day>=22))||((mon===1)&&(bd<=day))){ return "山羊座"; }else if(((mon===1)&&(day>=21))||((mon===2)&&(day<=18))){ return "水瓶座"; }else if(((mon===2)&&(day>=19))||((mon===3)&&(day<=20))){ return "魚座";        }else{ return"error"; }  monとdayは事前にpromptで入力させていて関数で呼び出し、どの数字にしても最後のerrorしか表示されません このif文は間違っているのでしょうか?またどのようにしたらいいのでしょうか? 前後の文は省略しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • ushi2015
  • ベストアンサー率51% (241/468)
回答No.5

こんにちは やはり、 http://qiita.com/PianoScoreJP/items/e43d70ec188c6fed73ed こちらの問題も有ると思いますので調べてみてはどうでしょうか?

その他の回答 (5)

回答No.6

比較演算子に === を使われていますが monの実体が文字列 ということはないですか? "1" == 1 は真ですが "1" === 1 が 偽 です。

phoenix-1214
質問者

お礼

その通りでした。勉強不足です・・・。 有難うございました!!

  • ushi2015
  • ベストアンサー率51% (241/468)
回答No.4

こんにちは No3さんへ bdとか良く見てなかったです。 後は、monとdayを数値と比較しているのは大丈夫なのでしょうか?

  • pringlez
  • ベストアンサー率36% (598/1630)
回答No.3

とりあえず絶対におかしいところ2つ ・全角空白の混入「 }else{ 」の前に全角空白 ・閉じカッコの不足、最後に一つ足りない おかしそうなところ 山羊座の判定で突然「bd」が出てくる。 「(mon === 1) && (bd <= day)」 どんなエラーが出てるか自分で確認するようにした方がいいですよ。

  • ushi2015
  • ベストアンサー率51% (241/468)
回答No.2

こんにちは グローバル変数なら、大丈夫なはずですね。 return"error"; の部分で、monとdayに何がセットされているか表示するように 変更してみてはどうですか?

phoenix-1214
質問者

補足

ありがとうございます。 最後のelseの部分にconsole.log(mon,day)を入れたのですが しっかり最初に入力したmonとdayが表示されました。 このifに問題があるのでしょうか?

  • ushi2015
  • ベストアンサー率51% (241/468)
回答No.1

こんにちは 普通、 function seiza() の括弧内に引数、monとdayが有るのでは?

phoenix-1214
質問者

補足

こんにちは 回答有難うございます。 ご指摘の通り引数を入れたのですが undefinedと表示されてしまいました。 どうしてなのでしょう? ちなみにmonとdayはグローバル変数です。

関連するQ&A

  • ホロスコープの鑑定をお願いしたいです

    最近ホロスコープに興味を持ち、作成サイトで作ってはみたものの・・・ 鑑定に四苦八苦しています。 どなたか詳しい方に鑑定していただけると嬉しいです。 ↓私のホロスコープです↓ 1977年3月16日 10:51 岡山県玉野市生まれ  太陽  魚座 月  水瓶座 水星  魚座 金星  牡羊座 火星  水瓶座 木星  牡牛座 土星  獅子座 天王星  蠍座 海王星  射手座 冥王星  天秤座 ASC  双子座 IC  乙女座 DSC  射手座 MC  魚座 龍頭  天秤座 龍尾  牡羊座 リリス  牡牛座 1室  双子座 2室  蟹座 3室  獅子座 4室  乙女座 5室  天秤座 6室  蠍座 7室  射手座 8室  山羊座 9室  水瓶座 10室  魚座 11室  牡羊座 12室  牡牛座 よろしくお願いします。

  • ホロスコープについて

    以下のホロスコープについて、性格などを少しでも知りたいです。 性別は女性です。 専門家の方など、もし解読できる方がいらっしゃれば教えてください。 太陽:やぎ座             第1室:しし座 月 :やぎ座             第2室:おとめ座 水星:やぎ座             第3室:てんびん座   金星:いて座             第4室:さそり座      火星:てんびん座           第5室:いて座 木星:いて座             第6室:やぎ座 土星:さそり座            第7室:みずがめ座 天王星:いて座            第8室:うお座 海王星:いて座            第9室:おひつじ座 冥王星:さそり座           第10室:おうし座                    第11室:ふたご座                    第12室:かに座

  • ホロスコープについて。女性です。

    ホロスコープについて。女性です。 自分の性格を少しでも理解したいので、ホロスコープに詳しい方宜しくお願いします。 補足で、全体的に射手座が多い場合は、射手座気質が強いんでしょうか? 飽きっぽい性格は自覚してます。 太陽 てんびん座        月 ふたご座 水星 おとめ座 金星 しし座 火星 しし座 木星 いて座 土星 さそり座 天王星 いて座 海王星 いて座 冥王星 てんびん座 第1室(ASC) うお座 第2室 おひつじ座 第3室 おうし座 第4室(IC) ふたご座 第5室 かに座 第6室 しし座 第7室(DSC) おとめ座 第8室 てんびん座 第9室 さそり座 第10室(MC) いて座 第11室 やぎ座 第12室 みずがめ座

  • ホロスコープに詳しい方に質問です。

    占星術に詳しい方教えてください。 ハウスとMCとアセンテンダントです。 太陽星座魚座 月は第7ハウス 金星は第4ハウス 火星は第2ハウスです 19750222 出生時刻夜中の2時00分 東経130度33分 北緯33度33分 第1ハウス いて座と山羊座に挟まれています星は無しアセンデンダントがここにあります 第2ハウス 山羊座と水瓶座に挟まれていて山羊座に火星水瓶座に水星があります 第3ハウス 水瓶座と魚座に挟まれていて太陽が魚座にあります 第4ハウス 魚座と牡羊座に挟まれてて金星と木星があります 第5ハウス 牡羊座と牡牛座に挟まれていてキロンがあります 第6ハウス 牡牛座と双子座に挟まれていて星は無しです 第7ハウス 双子座と蟹座に挟まれていて月と7-8ハウスに挟まれた土星があります 第8ハウス 蟹座と獅子座に挟まれて星は無しです 第9ハウス 獅子座乙女座に囲まれていて星は無しです 第10ハウス 乙女座天秤座に囲まれていてMCの線がが真ん中にきていますハウスの左に冥王星があります 第11ハウス 天秤座蠍座に囲まれてて天王星が右側にあります 第12ハウス 蠍座いて座に囲まれていてノード(真)と12-1ハウスの間に(アセンデントの線)に海王星が来ています。 因みに165年に一度の海王星がうお座入りしていますが 今年又は来年の運勢、恋愛運、バツイチなので結婚運が知りたいです。 どうかよろしくです。

  • 西洋占星術で子供の健康について

    昨年生まれた息子のホロスコープで気になる記述があり、とても不安なので教えて下さい。 8室に太陽があると思いますが、それが月、火星とスクエアをとっており、突然死の条件に当てはまるとありました。この子は風邪などとてもひきやすく、まだ1歳にもならないのですが病院にはよく通っている状態なので、健康はとても気がかりで、この記述を見てからは突然死してしまうんではないかととても不安です。この子はやはりそういう傾向があるのでしょうか? 1ハウス蠍座8.51 太陽双子座20.75 2ハウス射手座7.51 月魚座18.80 3ハウス山羊座9.86 水星蟹座7.31 4ハウス水瓶座14.14 金星双子座12.55 5ハウス魚座16.79 火星乙女座19.11 6ハウス牡羊座14.98 木星牡牛座29.90 7ハウス牡牛座8.71 土星天秤座22.92 8ハウス双子座7.51 天王星牡羊座8.13 9ハウス蟹座9.86 海王星魚座3.14 10ハウス獅子座14.14冥王星山羊座8.75 11ハウス乙女座16.79 12ハウス天秤座14.98 です。

  • javascriptの関数につきまして

    javascriptの関数につきまして javascriptの関数につきましての質問です。 Daycheck()関数 function Daycheck(year, mon, day){ maxDayOfMonth = Array( 31,29,31,30,31,30,31,31,30,31,30,31 ); if (year < 1901 || 2200 < year) return false; if( mon < 1 || mon > 12 ) return false; if( day < 1 || day > maxDayOfMonth[mon-1] ) return false; if( mon != 2 ) return true; if( day < 29 ) return true; if( ( year % 4 ) == 0 && ( year % 100 ) != 0 ) return true; if( ( year % 400 ) == 0 ) return true; return false; } というサンプルソースを見たのですが、Daycheck()の中のif( mon != 2 ) return true;とは2月以外が選択されていた場合trueを返す。 つまり、2月は選択できないということでしょうか? プログラミングについて詳しい方がいらっしゃりましたらご指導お願いします。 宜しくお願い致します。

  • 適職について(西洋占星術)

    う結婚出産などで何年も働いてなかったため、 そろそろ働きに出ようと考えてもなかなか職種など決まりません。 子供が小さいので、自分のやりたいことというわけにもいかず、 私にはどんな職業が合っているのかアドバイスして頂きたいです。 また長生きできますか? 宜しくおねがいします。 1ハウス双子座11.92 2ハウス蟹座5.00 3ハウス蟹座26.73 4ハウス獅子座21.14 5ハウス乙女座22.15 6ハウス蠍座1.47 7ハウス射手座11.92 8ハウス山羊座5.00 9ハウス山羊座26.73 10ハウス水瓶座21.14 11ハウス魚座22.15 12ハウス牡牛座1.47 太陽 山羊座10.27 月 山羊座26.10 水星 山羊座3.57 金星 蠍座3.57 火星 魚座24.92 木星 魚座17.55 土星 射手座15.42 天王星 射手座23.62 海王星 山羊座5.71 冥王星 蠍座9.48

  • ジョナサン・ケイナー西洋占星術 天体位置表とカスプ表結果から見て

    以下は私の出生年月日より計算された天体位置表とカスプ表なのですが、 どうやって見てよいのかわかりません。 ここから、どういった性格とか傾向があるとか、わかるのでしょうか? おおまかには、 太陽星座は「なりたい自分」、月星座は「本当の自分」、上昇宮星座(ASC)は「他から見られる自分」をあらわすと聞いております。 他にどういったことが、この表のなかでわかるのか、お詳しい方ぜひ教えてください。お願い致します。 太陽:山羊座 月:乙女座 水星:水瓶座 金星:射手座 火星:双子座 木星:牡羊座 土星:蟹座 天王星:蠍座 海王星:射手座 冥王星:天秤座 第1室(ASC):天秤座 第2室:蠍座 第3室:射手座 第4室(IC):山羊座 第5室:魚座 第6室:魚座 第7室(DSC):牡羊座 第8室:牡牛座 第9室:双子座 第10室(MC):蟹座 第11室:乙女座 第12室:乙女座

  • 相性占い

    自分:太陽星座 牡牛座、月星座 獅子座 相手:太陽星座 蠍座、 月星座 水瓶座 これで恋愛相性はわかりますか?わかるならば、占ってください。 お願いします^^。

  • python >の意味

    お世話になっております。pythonを勉強しておりまして、星座を求めるコードを見たのですが最後の行のコードが理解できませんでした。 print a[ m-13 + (d > b[m-1]) ] の>というのはどういう意味なのでしょうか。 よろしくお願いいたします。 # -*- coding: utf-8 -*- a = [u'山羊座', u'水瓶座', u'魚座', u'牡羊座', u'牡牛座', u'双子座', u'蟹座', u'獅子座', u'乙女座', u'天秤座', u'蠍座', u'射手座'] b = [20, 19, 20, 20, 20, 21, 23, 23, 23, 23, 22, 22] m = int(raw_input('月を入力してください: ')) d = int(raw_input('日を入力してください: ')) print a[ m-13 + (d > b[m-1]) ]

専門家に質問してみよう