質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

210閲覧

spam(この場合、沢山のメッセを送ること)を解消し、一回で送りたい!

siranui

総合スコア54

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2018/10/25 14:02

###したいこと

  • なんの倍数かを教えるプログラムなるものを、相談しつつ作ってみました!

これ自体はとてもうまくいきました。!

  • ですが、この写真のように


沢山のコメントをしてしまい、spamになってしまいます...

なので、
0. 「倍数 〇〇」を受け取る(〇〇は数字)
0. 「〇〇」÷ iをする(iはforを使って1~〇〇まで繰り返す)
0. 「〇〇」÷ iのあまりが0ならば、「'えーっと、'+ i +'の倍数ね!'とコメントする」

だったのを、
0. 「倍数 〇〇」を受け取る(〇〇は数字)
0. 「〇〇」÷ iをする(iはforを使って1~〇〇まで繰り返す)
0. new「〇〇」÷ iのあまりが0ならば、**どっかにその数字を記憶する **
0. 「'えーっと、'+ うんたら/*記憶したやつ全部*/ +'の倍数ね!'とコメントする」

としたいです。もちろん、これは草案なので、細かいところは皆様の発想力にお任せします。
###件のプログラム

js

1 if(message.content.includes("倍数")) { 2 var tesu = parseInt(message.content.slice(3), 10) 3 for(var i = 1; i <= tesu; i++) 4 { 5 if ((tesu % i) == 0) { 6 message.channel.send('えーと、' + i + 'の倍数ね!'); 7 } 8 } 9 }

###注記
このプログラムは、Discordというところで動くように作られています。
なので、ところどころわからない変数が出てくるかもしれませんが、気にしないでください。

Discord.jsのコマンド一覧は、ここ
自分が書いてるプログラムは、ここにあります。
ご参考にしてくださいm(_ _)m

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

JS

1var tesu = parseInt(message.content.slice(3), 10); 2var result = 'えーっと、'; 3for (var i = 1; i <= tesu; i++) 4{ 5 if ((tesu % i) == 0) { 6 result += String(div) + "と"; 7 } 8} 9result.slice(result.length - 1); 10message.channel.send(result + 'の倍数ね!');

こんな感じでどうですか。

投稿2018/10/25 14:16

yskk

総合スコア257

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

siranui

2018/10/25 14:36

回答依頼にお答えいただきありがとうございます! なるほど、こうすればよかったんですね! 完璧な回答、震えるばかりです。ありがとうございました!
guest

0

記入してる間に解決したようですね、、、
せっかく記入したから一応回答しておきます

js

1var array = []; // 追加してください 2 3if(message.content.includes("倍数")) { 4 var tesu = parseInt(message.content.slice(3), 10) 5 for(var i = 1; i <= tesu; i++) 6 { 7 if ((tesu % i) == 0) { 8 array[array.length] = i; // 追加してください 9 message.channel.send('えーと、' + array + 'の倍数ね!'); 10 // 「i」を「array」に変更してください  ↑ 11 } 12 } 13}

js

1// 区切り文字を変更する場合はあと2行追加してください 2 3var array = []; 4var join; // 追加してください 5 6if(message.content.includes("倍数")) { 7 var tesu = parseInt(message.content.slice(3), 10) 8 for(var i = 1; i <= tesu; i++) 9 { 10 if ((tesu % i) == 0) { 11 array[array.length] = i; 12 join = array.join('と'); // 引数を変えて追加してください 13 message.channel.send('えーと、' + join + 'の倍数ね!'); 14    //「i」を「join」に変更してください  ↑ 15 } 16 } 17}

投稿2018/10/25 15:43

編集2018/10/25 15:46
akihiro3

総合スコア955

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

siranui

2018/10/26 00:10

ご回答いただきありがとうございました。 どういう反応かと試してみたら、 えーと、1の倍数ね! えーと、1と2の倍数ね! えーと、1と2と3の倍数ね! えーと、1と2と3と4の倍数ね! えーと、1と2と3と4と5の倍数ね! ・ ・ ・ となってしまったはものの、これは別にプログラムにも転用できそうです! ありがとうございました!
akihiro3

2018/10/26 14:38

何かの役に立てたのなら良かったです ちなみに今の対処ですと、ループの外に出してください if(message.content.includes("倍数")) { var tesu = parseInt(message.content.slice(3), 10) for(var i = 1; i <= tesu; i++) { if ((tesu % i) == 0) { array[array.length] = i; join = array.join('と'); } }  message.channel.send('えーと、' + join + 'の倍数ね!'); // ここに移動してください }
siranui

2018/10/27 12:01

なるほど... やっぱり、forは無限ループしだしたり(++し忘れるただのバカ) 処理超重くなったり(ループの天井を設定し忘れるただのバカ) 扱いにくいですね!(バカ)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問