亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我對正確構建“如果”指令有疑問

我對正確構建“如果”指令有疑問

開滿天機 2022-09-23 16:23:05
我在構建函數時遇到問題。它應該檢測用戶放入框中的內容是否為整數,并打印正確的評論。問題出現在函數的第二級中,指令“if”應該再次檢查圖1是否是一個數字(它不會打印任何東西),但是“else if”被完美地讀取,“else”也是如此。我的功能有什么問題?請幫忙。function show() {  //Variable contains the value of field1 from input html which has been read thanks to onclick  var figure1 = document.getElementById("field1").value;   //Variable contains the value of field2 from input html which has been read thanks to onclick  var figure2 = document.getElementById("field2").value;   //empty until the instruction write in something  let sign = "";  //STEP 1  //loop working until the value of i reach the value of figure2  for (i = figure1; i <= figure2; i++)   {    if (Number(figure1) && Number(figure2)) {      //if both figure1 and figure2 are numbers, print the sign as follows - what sign contains from previous iteration + i + ", "      sign = sign + i + ", ";           } else {          if (Number(figure1)) {        //If statements from "if" level above haven't been fulfilled, print "Please, type integer in right-hand box";        sign = "Prosz? wpisa? liczb? w prawym polu";               } else if (Number(figure2)) {        //If statements from "if" level above haven't been fulfilled, print "Please, type integer in left-hand box";        sign = "Prosz? wpisa? liczb? w lewym polu";               } else {        sign = "Prosz? wpisa? warto?ci liczbowe w obu polach";        // If statements from "if"        // level above haven 't been fulfilled, print "Please, type integer in both boxes";      }    }  }  //podmienia warto?? diva o id result na warto?? zmiennej sign.  document.getElementById("result").innerHTML = sign; }
查看完整描述

2 回答

?
犯罪嫌疑人X

TA貢獻2080條經驗 獲得超4個贊

無法評論(聲譽不夠),所以我將以答案的形式寫下我的評論。

這行代碼有 3 個問題:

for (i = figure1; i <= figure2; i++)
  1. 你說這個函數的目的是確保 figure1 和 figure2 都是數字,但是通過把它們放在一個這樣的循環中,你已經假設它們是數字。想想看 - 如果值不是數字,您如何增加它們并將它們與for循環進行比較?

  2. 您假定圖 1 始終小于圖 2。我有這個假設的基礎嗎?如果它是假的,那么循環甚至不會執行一次。

  3. 此外,我不明白為什么需要循環。如果要檢查輸入是否為整數,則需要循環并更改其值?檢查一次應該就足夠了。

修復這些問題并檢查您的問題是否仍然存在。


查看完整回答
反對 回復 2022-09-23
?
MMTTMM

TA貢獻1869條經驗 獲得超4個贊

沒關系


<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Document</title>


    <script type = "text/javascript">


        function show()

        {

            var figure1 = document.getElementById("field1").value; //Zmienna przechowuje warto?? pola field1, które zostaje zczytane po wywo?aniu funkcji przy u?yciu zdarzenia "onclick"

            var figure2 = document.getElementById("field2").value; //Zmienna przechowuje warto?? pola field2, które zostaje zczytane po wywo?aniu funkcji przy u?yciu zdarzenia "onclick"


            let sign = ""; //zmienna przechowuje pusty ci?g znaków, do momentu nadpisania jej zawarto?ci przez instrukcje funkcji


            if (Number(figure1) && Number(figure2))

            {

                for (i=figure1; i<=figure2; i++) //p?tla wykonuj?ca si? dopóki warto?? figure1 jest mniejsza lub równa figure2

                {

                        sign = sign + i + ", "; //je?eli obie warto?ci pobrane z pól field1 i field2 s? liczbami, to wykonuj instrukcj? p?tli for, tj. inkrementuj warto?? i od warto?ci field1 do warto?ci field2

                }


                for (i=figure1; i>=figure2; i--)

                {

                    sign = sign + i + ", "

                }

            }

            else if (Number(figure1))

            {

                sign = "Prosz? wpisa? warto?? liczbow? w polu prawym";

            }

            else if (Number(figure2))

            {

                sign = "Prosz? wpisa? warto?? liczbow? w polu lewym";

            }

            else

            {

                sign = "Prosz? wpisa? warto?ci liczbowe w polach prawym i lewym";

            }


            document.getElementById("result").innerHTML = sign; //podmienia warto?? diva o id result na warto?? zmiennej sign.

        }


    </script>

</head>

<body>


    <input type="text" id="field1"> <!--W tym polu umieszczamy liczb? z przedzia?u-->

    <input type="text" id="field2"> <!--W tym polu umieszczamy liczb? z przedzia?u-->

    <input type="submit" value="poka?" onclick="show()"> <!--Po klikni?ciu zostaje wywo?ana funkcja "show()"-->


    <div id="result"></div> <!--wn?trze diva podmienimy przy u?yciu funkcji "show()"-->


</body>

</html>


查看完整回答
反對 回復 2022-09-23
  • 2 回答
  • 0 關注
  • 113 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號