2013-03-19 60 views
-3

這是一個問題:如果一個整數大於1並且只能由1和整數本身整除,那麼它就是整數。例如,2,3,5和7是素數,但是4,6,8和9不是。 a)編寫一個函數,確定數字是否爲素數。 b)在一個腳本中使用這個函數來確定和打印1到10000之間的所有素數。在確定你已經找到所有素數之前,你真的需要測試這10000個數中的多少個?在a中顯示結果。我有一個顯示javascript輸出沒有任何用戶操作的問題

這是我的代碼:

function isPrime(n) 
{ 
var prime=true; 
     if(n===1 || n===0) 
     { 

      prime= false; 
     } 

     if(n==2) 
     { 
      prime= true; 
     } 
     else 
     { 
      for(var i=2;i<n;i++) 
      { 
       if(n%i===0) 
       { 
        prime= false; 
       } 
      } 
     } 
     return prime; 
} 
function printPrimes() 
{ 

    for(var i=0; i<=1000; i++) 
    { 
     if(isPrime(i)===true) 
     { 
      document.writeln("<p>" + i + "</p>"); 
     } 
    } 

} 
printPrimes(); 

這是我的HTML:

<!DOCTYPE html> 
<html> 
    <head> 
    </head> 
     <body> 
      <h1> Prime numbers between 1 and 1000 are: </h1> 
      <textarea rows="10" cols="15"> 
      <script src="prime.js" type="text/javascript"> </script> 
      </textarea> 
     </body> 
</html> 

當我打開Chrome瀏覽器的HTML文件只有標題顯示出來似乎沒有運行該腳本! 只有腳本標籤顯示在文本區域顯示出來,我試了一百萬件事情沒有任何工作,我想如何輸出TEXTAREA標籤中的腳本??????

我試過,但仍然沒有去:

function printPrimes() 
{ 
    var str=""; 
    for(var i=0; i<=1000; i++) 
    { 
     if(isPrime(i)===true) 
     { 
      str+=i +" /n"; 
     } 
    } 
    document.getElementById('primes').value=str; 

} 
printPrimes(); 

HTML:

<!DOCTYPE html> 
<html> 
    <head> 
    </head> 
     <body> 
     ` <script src="prime.js" type="text/javascript"> </script> 
      <h1> Prime numbers between 1 and 1000 are: </h1> 
      <textarea id="primes" rows="40" cols="50"> 

      </textarea> 
     </body> 
</html> 

所以很抱歉的轉貼和輕微的編輯,就不會再發生,即時通訊新的棧溢出,並得到已經禁止了,如果我的禁令可以取消,我只會問更多的問題,如果我已經做了研究,如果我打到最低限度,沒有任何東西似乎工作。我ddnt注意到編輯帖子,這是一個愚蠢的錯誤發佈重複,希望下來的選票被刪除,我的腳本新手,堆棧溢出新手,我ddnt實現id被禁止愚蠢的問題。對不起

+1

你能不能簡單地編輯您的[前一個問題(http://stackoverflow.com/questions/15480801/im-having-an-問題與顯示JavaScript的輸出沒有任何用戶行動),而不是創建一個全新的一個非常小的變化? – 2013-03-19 14:41:05

+0

真的很抱歉,我的壞,老實說沒有注意編輯按鈕,不會再發生 – rnm20 2013-03-19 14:46:17

+1

所以很抱歉的轉發和輕微的編輯,不會再發生,即時通訊新的堆棧溢出,並已被禁止,如果我的禁令可以解除,如果我已經完成了研究,並且如果我打到最低限度,沒有任何東西似乎正在工作,我只會提出更多問題。我ddnt注意到編輯帖子,這是一個愚蠢的錯誤發佈重複,希望下來的選票被刪除,我的腳本新手,堆棧溢出新手,我ddnt實現id被禁止愚蠢的問題。對不起 – rnm20 2013-03-19 23:28:30

回答

0

這裏嘗試下面的代碼。注意更新的textarea元素,JS引用的位置和值的輸出。

JS文件

function isPrime(n){ 
    var prime=true; 
    if(n===1 || n===0) 
    { 

     prime= false; 
    } 

    if(n==2) 
    { 
     prime= true; 
    } 
    else 
    { 
     for(var i=2;i<n;i++) 
     { 
      if(n%i===0) 
      { 
       prime= false; 
      } 
     } 
    } 
    return prime; 
} 
function printPrimes() 
{ 

    for(var i=0; i<=1000; i++) 
    { 
     if(isPrime(i)===true) 
     { 
      //document.writeln("<p>" + i + "</p>"); 
      document.getElementById('primeNumbers').value = document.getElementById('primeNumbers').value + i + '\n'; 
     } 
    } 

} 
printPrimes(); 

HTML

<!DOCTYPE html> 
<html> 
    <head> 
    </head> 
    <body> 
     <h1> Prime numbers between 1 and 1000 are: </h1> 
     <textarea rows="10" cols="15" id="primeNumbers"></textarea> 
     <script src="prime.js" type="text/javascript"> </script> 
    </body> 
</html> 
+0

好吧生病了試試這個,回覆你 – rnm20 2013-03-19 15:08:40

+0

它的工作原理:D非常感謝,這是我犯的一個愚蠢的錯誤,腳本標籤超過了textarea標籤我的代碼,所以它是在文本區域之前運行:p ..很感謝代碼:D – rnm20 2013-03-19 15:14:19

+0

你能舉出這個答案有用嗎?謝謝 – Kalpers 2013-03-19 16:03:36

2

你可以使用javascripts document.getElementById來得到textarea(當然你將不得不給一些id給textarea)。然後改變這個文本區域的value。看看this answer

+0

的值可以是一個字符串變量?我正在考慮用循環和循環在字符串中構建素數:str + = i +「/ n」;例如,然後輸出文本區域中的字符串,這將工作嗎? – rnm20 2013-03-19 14:58:05

+0

@ user2182981在我鏈接到作者的非常接近的答案中將值設置爲字符串。 – 2013-03-19 14:59:00

+0

我試過了,但它沒有工作,我轉發了上面編輯的代碼 – rnm20 2013-03-19 15:07:54

0

你不能在textarea中有HTML。

相關問題