2017-06-16 19 views
0

JavaScriptスイッチの割り当てが滞っています。私はまだかなり新しいものですが、私のコースの本やオンラインでこのプログラムを動作させるために何かを見つけることができないようです。タスクはif文をswitch codeに切り替えることでした。どんな助けや提案も大歓迎です。javascript switch-statement年齢範囲

var myAge = prompt("Enter your age:", "30"); 

switch (myAge) { 

    case myAge! >= 0: 
    case myAge <= 10: 
    document.write("myAge is NOT between 0 and 10 <br />"); 

    case myAge >= 0: 
    case myAge <= 10: 
    document.write("myAge is between 0 and 10 "); 
    break; 

    case myAge >= 80: 
    case mmyAge <= 10: 
    document.write("myAge is 80 or above or 10 or below "); 
    break; 

    case myAge >= 30: 
    case myAge <= 39: 
    document.write("myAge is between 30 and 39 "); 
    break; 

    case myAge >= 80: 
    case myAge <= 89: 
    document.write("myAge is between 80 and 89 "); 
    break; 
} 
+1

あなたは '破る行方不明;'最初のケースで –

+1

あなたは(真の) 'スイッチが必要になりますが、{'あなたのブールcase式にマッチすると '>'ではありません!有効な演算子。 –

+0

@コミュニティ...申し訳ありませんが、これは明らかに別の質問です...このようにしましょう:cameragrl37は87入力から何を期待していますか?... 私は彼が3つのメッセージを期待していると言っています... 1つのスイッチに書き込むことはできません! – fedeghe

答えて

0

あなただけの場合には文字列の代わりにintを使用していることを確認し実行します。

var myAge = parseInt(prompt("Enter your age:", "30")); 

そして、あなたはすべてのcase秒にbreak;ステートメントを追加してください。あなたは、正確なmyAge!

myAgeにどのようなエラーを取得しています

は最初case!文字を削除しますか?

0

最初の「case myAge」では、比較演算子は機能しません。もしあなたがそれと等しくないと言うなら、あなたは!=、そうではありません!> =。

0

私は

てみOLD ANSWER

-------------------------それは仕事ができると思った...しかし

以下;あなたは確かにdocument.writeが必要ですか?

var myAge = ~~prompt("Enter your age:", "30"), 
    msg = []; 
switch (true) { 

    case myAge < 0 && myAge > 10: 
     msg.push("myAge is NOT between 0 and 10"); 

    case myAge >= 0 && myAge <= 10: 
     msg.push("myAge is between 0 and 10"); 

    case myAge >= 80 || myAge <= 10: 
     msg.push("myAge is 80 or above or 10 or below"); 

    case myAge >= 30 && myAge <= 39: 
     msg.push("myAge is between 30 and 39"); 

    case myAge >= 80 && myAge <= 89: 
     msg.push("myAge is between 80 and 89"); 
} 
document.write(msg.join('<br />')); 


が、ここでは、なぜだ、ではありません: 最初はあなたがより多くのその1つの検証メッセージを取得したいことはかなり明白です。 不幸これはあなたが break;を削除する必要がありますが、これはすべてのfollowinfgものは関係なく、条件に実行する最初のものに満足原因ということを意味1以上を実行するために、単一のスイッチの原因に記述することはできません...

はあなたが持っていると述べました移動し、「マルチあれば」それは次のようになります。あなたはbreakを欠落していた

var myAge = parseInt(prompt("Enter your age:", "30"), 10), 
    msg = []; 

if (myAge < 0 && myAge > 10) 
    msg.push("myAge is NOT between 0 and 10"); 
if (myAge >= 0 && myAge <= 10) 
    msg.push("myAge is between 0 and 10"); 
if (myAge >= 80 || myAge <= 10) 
    msg.push("myAge is 80 or above or 10 or below"); 
if (myAge >= 30 && myAge <= 39) 
    msg.push("myAge is between 30 and 39"); 
if (myAge >= 80 && myAge <= 89) 
    msg.push("myAge is between 80 and 89"); 

console.log(msg.join("\n")); 
+0

'break;'がありません? –

+0

...もし彼がカスケードを必要とすれば...それは見えるように – fedeghe

0

mmyAgeをタイプミス。 switchにtrueを渡します。

var myAge = parseInt(prompt("Enter your age:", "30")); 
 
age(myAge); 
 
function age(myAge){ 
 

 
    switch (true) { 
 
     
 
     case (myAge >= 0 && myAge <=10): 
 
      document.write("myAge is NOT between 0 and 10 <br />"); 
 
     break; 
 
     case myAge >= 0 && myAge <= 10: 
 
      document.write("myAge is between 0 and 10 "); 
 
      break; 
 

 
     case myAge >=80 && myAge <=10: 
 
      document.write("myAge is 80 or above or 10 or below "); 
 
      break; 
 

 
     case myAge >= 30 && myAge <=39: 
 
      document.write("myAge is between 30 and 39 ");    
 
      break; 
 

 
     case myAge >= 80 && myAge <= 89: 
 
      document.write("myAge is between 80 and 89 "); 
 
      break; 
 
     default: 
 
       console.log(myAge); 
 
     } 
 
     
 
    }

+0

私はそれを逃してくれてありがとう:)すべてあなたのすべてのロックを今働いている。これは私の最初の経験であり、本当に助けになりました。 :) – cameragrl37

+0

あなたは答えを受け入れることもできます。それが助けられたら –