• ベストアンサー

カウントをマイナスにしたい。

for(i=0; i<str_posk; i++){ if((advance_text[text_pos].charAt(i) != ">") && (advance_text[text_pos].charAt(i) != "")){count++} } ↑は打鍵トレーナーです。(JavaScriptで書かれています) 問題文に>を使った時に、問題文の表示countがプラスされるようになっています。これをマイナスにしたいのですが、count++の部分をcount--にしても、マイナスにならないようです。この場合、どのように書けばよろしいのでしょうか?JavaScriptは勉強し始めの素人ですので、申し訳ございませんが、上手く説明することができません。よろしければ上記内容では意味不明な場合はtyping.cgiの1155行目辺りですので、お手数ですが、スクリプトをご覧になってみてください。 どうぞ宜しくお願いいたします。

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

  • ベストアンサー
  • hkd9001
  • ベストアンサー率48% (99/204)
回答No.2

こんにちは。いま、ちょっと思ったのですが、 ご質問のスクリプト2行目 if((advance_text[text_pos].charAt(i) != ">") && (advance_text[text_pos].charAt(i) != "")){ この条件文は 「advance_text[text_pos]の i+1 文字目が ">" でもなく、 "" でもない場合は…」 という意味ですが、これで MKNET さんとしてはOKなのでしょうか(やりたい事とマッチしているでしょうか)?

MKNET
質問者

お礼

有難うございます。 私がやりたいことは advance_text[text_pos]の i+1 文字目が ">" か、 "" の場合は…{処理}にしたいと考えております。 スクリプトをみては、どこの箇所がそうなのか探しているのですが、わかりません。大変お手数ではございますが、「だった場合はの{処理}」の箇所をどなたか教えていただけませんでしょうか。箇所がわかれば、自分で勉強しながら弄ってみて、わからなければ再度質問させていただきます。どうぞ宜しくお願いいたします。

MKNET
質問者

補足

大変失礼しました。よく見直してみましたところ、質問文が間違っておりました。 「問題文に>を使った時に、問題文の表示countがプラスされないようになっています。」 の間違いです。 >を使った時に、countを+2にしたいと考えております。宜しくお願いいたします。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

書き方に関しては、count-- であっています。 alert文などでデバグしてみて下さい。

MKNET
質問者

お礼

function setAdvancePos(){ if(text1typeend == 0){return;} var count = 0; for(i=0; i<str_posk; i++){ if((advance_text[text_pos].charAt(i) != ">") && (advance_text[text_pos].charAt(i) != "")){count++} } str_posa = count; } 有難うございます。申し訳ございませんが、素人のため、alert文でデバグの方法がよくわかりません。ここ数日、この改造方法を調べているのですが、自力ではどうしても解決することができません。 var count = 0;の部分をvar count = -1;にすると、マイナスにはなりますが、> が書き込まれた箇所のみマイナスにしたいのですが、思うようにできません。上記スクリプトでは > が書き困れた場所のみcount++になっていますが、これを逆のcount--にするにはどのように変更すればいいのか、書き方を教えていただけますでしょうか。宜しくお願いいたします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • カウントをマイナスにしたい。

    function setAdvancePos(){ if(text1typeend == 0){return;} var count = 0; for(i=0; i<str_posk; i++){ if((advance_text[text_pos].charAt(i) != ">") && (advance_text[text_pos].charAt(i) != "")){count++} } str_posa = count; } ↑は打鍵トレーナーです。(JavaScriptで書かれています) 「advance_text[text_pos]の i+1 文字目が ">" でもなく、 "" でもない場合の処理ではcountが++されないようになっております。これに、「advance_text[text_pos]の i+1 文字目が "<"だった場合はカウントが+2される処理も追加したいのですが、どのように書けばよろしいのでしょうか? 前回も同様の質問をさせて頂きましたが、質問内容が間違えておりましたので、再質問させていただきました。JavaScriptは素人のため上手く説明することができません。上記内容では意味不明な場合はtyping.cgiの1155行目辺りですので、お手数ですがスクリプトをご覧になってみてください。どうぞ宜しくお願いいたします。

  • C言語文字数4つカウント

    こんにちは。大学の課題で「キーボードから入力した文字数に含まれる'h''o''g''e'の4つの文字数をカウントする関数を含むプログラムを完成させよ」という課題がありました。なかなかできず現段階では以下のようになっています。どうすれば問題文のように実行できますか? #include <stdio.h> char str_chnum(const char str[], int ch) { int count = 0; int i; for(i = 0; str[i] != '\0'; i++) { if(str[i] == ch) count++; } return(count); } int main(void) { char str[128]; int ch; printf("文字列を入力してください:"); scanf("%s", str); printf("検索する文字を入力してください:"); scanf(" %c", &ch); printf("%cは%d個ありました。\n", ch, str_chnum(str, ch)); return(0); }

  • このタグはグラデーションですが、文字が小さくて困っています。

    <html> <head> <title>文字にグラデーションをかけ1文字ずつ出力する</title> <script Language="JavaScript"><!-- str = "■■■■■■■■■■■■■■■■■■■■■■■■■■"; count = 0; function setText1() { if (count > str.length) return; count++; txt = str.substring(0,count); txt2 = gradTextConv(txt); if (document.all) document.all["outText"].innerHTML = txt2; if (document.layers) { document.layers["outText"].document.open(); document.layers["outText"].document.write(txt2); document.layers["outText"].document.close(); } setTimeout("setText1()",100); } function gradTextConv(sText) { p = 16 / str.length; str2 = ""; for (i=0; i<sText.length; i++) { pt = Math.floor(p*i); n = "0123456789ABCDEF".charAt(pt); c = "#"+n+n+"0000"; str2 = str2 + "<font color='"+c+"'>" + sText.charAt(i) + "</font>"; } return str2; } // --></script> </head> <body bgcolor="white" onload="setText1()"> <div id="outText" style="position:absolute;top:50px;left:5px;"></div> </body> </html>

    • ベストアンサー
    • HTML
  • このタグが繰り返しにならないでしょうか?(今は、一度で終わります。)

    このタグが繰り返しにならないでしょうか?(今は、グラデーションが一度で終わります。) <html> <head> <title>文字にグラデーションをかけ1文字ずつ出力する</title> <script Language="JavaScript"><!-- str = "■■■■■■■■■■■■■■■■■■■■■■■■■■"; count = 0; function setText1() { if (count > str.length) return; count++; txt = str.substring(0,count); txt2 = gradTextConv(txt); if (document.all) document.all["outText"].innerHTML = txt2; if (document.layers) { document.layers["outText"].document.open(); document.layers["outText"].document.write(txt2); document.layers["outText"].document.close(); } setTimeout("setText1()",100); } function gradTextConv(sText) { p = 16 / str.length; str2 = ""; for (i=0; i<sText.length; i++) { pt = Math.floor(p*i); n = "0123456789ABCDEF".charAt(pt); c = "#"+n+n+"0000"; str2 = str2 + "<font size='20' color='"+c+"'> " + sText.charAt(i) + "</font>"; } return str2; } // --></script> </head> <body bgcolor="white" onload="setText1()"> <div id="outText" style="position:absolute;top:50px;left:5px;"></div> </body> </html>

  • すいません、このタグですが、自動で始まるようにならないでしょうか?

    <title>1行づつ画面上に出力する</title> <STYLE type="text/css"> <!-- div{font-size:20pt; } --> </STYLE> <script Language="JavaScript"><!-- str = new Array(); str[0] = "Sample text...(^^)/<br>"; str[1] = "1行づつ表示します。<br>"; str[2] = "By KaZuhiro FuRuhata<br>"; str[3] = "<a href='http://www.shiojiri.ne.jp/~openspc/'>OpenSpace</a>"; count = 0; function setTextLine() { if (count >= str.length) return; txt = ""; count++; for (i=0; i<count; i++) txt += str[i]; if (document.all) document.all["outText"].innerHTML = txt; setTimeout("setTextLine()",1000); } // --></script> </head> <body> <DIV id="outText" style="position:absolute;top : 167px;left : 112px;"></DIV> <DIV style="width : 139px;height : 76px;top : 10px;left : 146px; position : absolute; z-index : 1; " id="Layer1"><a href="javaScript:setTextLine()">出力開始</a></DIV> </body>

  • このタグで文字の大きさを変えたいのですが、、、、

    <head> <title>文字色をリアルタイムに変える</title> <script Language="JavaScript"><!-- count = 0; function changeColor(str) { txt = document.all["strID"].innerText; c = str.charAt(count); txt = txt.fontcolor("#"+c+c+"0000"); document.all["strID"].innerHTML = txt; count++; if (count > str.length) count = 0; setTimeout("changeColor('"+str+"')",100); } // --></script> </head> <body onLoad="changeColor('0123456789abcdefedcba987654321')"> <div id="strID" style="font-weight:900">ここの文字の色が変わるよ~ん</div> </body>

    • ベストアンサー
    • HTML
  • String型とchar型の変換エラーです

    今晩は!またまたこの掲示板にきました。よろしくお願いします。 文字列かブランクを取り出すコードを書きましたが、 -------- char ch_check = str.charAt(i+1) ; if(ch_check ==" ") { --------- のところでString型とchar型の混合は受け入れられませんのようなエラーが出ました。 if(ch_check ==" "をboolean型でうけるのも拒否されました。 どこをどのようにしてやればよいでしょうか。 JAVA初心者です、特に文字列の取り扱いは評判通りわかり難くくないています。 よろしくお願いします。 ---------- public class Mojiretu_Blank { public static void main(String[] args) { String str = "This is a pen."; int i = 1 ; int blank_count = 0 ; while( i < (str.length()+1) ) { char ch_check = str.charAt(i+1) ; if(ch_check ==" ") { blank_count ++ ; System.out.println(ch_check); } else{} System.out.print("ブランクの数は" + blank_count + "個です。"); } } }

    • ベストアンサー
    • Java
  • AJAXの計算式の中にIF文を入れて表示したい

    下記の2つのファイルで、フォームから入力した数値同士の「足し算の結果」をAJAXで表示できます。 ******************************************** 【HTMLフォーム】 <script language="JavaScript" type="text/javascript" src="js/culc.js"></script> <form name="f1"> <input type="text" id="text1" name="text1" size="10" maxlength="10" /> + <input type="text" id="text2" name="text2" size="10" maxlength="10" /> <input type="button" value="足す" onclick="readText()" /> </form> <p id="message"></p> ******************************************* 【JAVASCRIPT(culc.js)】 function readText() { var text1 = document.getElementById("text1"); var text2 = document.getElementById("text2"); var message = document.getElementById("message"); var str_val1 = text1.value; var str_val2 = text2.value; var sum; if (isNaN(str_val1) || str_val1 == "" || isNaN(str_val2) || str_val2 == "") { textMessage = "数値以外の文字が入っています"; } else { //sum = str_val1 + str_val2; sum = parseFloat(str_val1) + parseFloat(str_val2); textMessage = "合計は、" + sum + "です"; } message.innerHTML = textMessage; } ************************************************ 【質問】 このjavascriptを改造し、入力した数値についての「足し算の結果」が正の数だった場合には「正の数」、負の数だった場合は「負の数」と表示すべく改造しております。下記の改造を施したのですが、うまく表示されません。 下記の文のどこが誤りか修正頂けませんでしょうか? 宜しくお願い致します。 【JAVASCRIPT(culc2.js)】 function readText() { var text1 = document.getElementById("text1"); var text2 = document.getElementById("text2"); var message = document.getElementById("message"); var str_val1 = text1.value; var str_val2 = text2.value; var sum; if (isNaN(str_val1) || str_val1 == "" || isNaN(str_val2) || str_val2 == "") { textMessage = "数値以外の文字が入っています"; } else { //sum = str_val1 + str_val2; sum = parseFloat(str_val1) + parseFloat(str_val2); textMessage = "(if((sum > 0) { document.write("正の数"); } else((sum <= 0) { document.write("負の数"); } ))"; } message.innerHTML = textMessage; }

    • ベストアンサー
    • AJAX
  • set TImeout

    <html> <head> <title>フェードインさせたい </title> <script language="JavaScript"> <!-- r_color="000123456789abcd"; g_color="0123456789abcdef"; b_color="000123456789abcd"; function fadein(pos,speed){ clearTimeout(timer1); r=r_color.charAt(pos); g=g_color.charAt(pos); b=b_color.charAt(pos); document.bgColor="#"+r+r+g+g+b+b; if(pos<15){ timer1=setTImeout("fadein("+(pos+1)+","+speed+")",speed); }else{ clearTImeout(timer1); } } //--> </script> </head> <body text"#000000"onLoad="timer1=setTimeout('fadein(0,100)',100)"> <font size="5">フェードインします</font> </body> </html> 以上のタグが今勉強している本に載っていたのですが 最初にonloadで呼び出された関数の中にClearTImeaout (11行目)にありますがそこでこの関数はとまって しまわないのでしょうか? また二つSettimeaoutがありますが二つとも識別する 単語がtimer1で同じですけどごっちゃにならないのでしょうか?

  • Linuxシェルによる同一文字列のカウント集計

    あるファイル中の同じ文字列の行をカウントして それぞれの文字列が何回現れるか集計するシェルを作ろうとしています。 しかし、最後のグループの集計がうまくいきません。 入力ファイルはソート済みです。 スコープの問題なのかどうか良くわかりませんが、想定外の動きをします。 このシェルの修正もしくは、別のいい集計方法、 どちらでも歓迎です。よろしくお願いします。 書いてみたシェル ------------------ #!/bin/sh TARGET_STR=`head -n 1 uniqData.txt` declare -i COUNT=0 cat uniqData.txt | while read LINE_STR do if [ "${TARGET_STR}" = "${LINE_STR}" ]; then COUNT=$COUNT+1 else echo $TARGET_STR:$COUNT TARGET_STR=${LINE_STR} COUNT=1 fi done echo $TARGET_STR:$COUNT ------------------ 入力ファイル ------------------ asd asd asd dfg dfg gghhjj gghhjj gghhjj gghhjj ttyyuuu ttyyuuu ttyyuuu wwee ------------------ 期待出力 ------------------ asd:3 dfg:2 gghhjj:4 ttyyuuu:3 wwee:1 ------------------ 実際の出力 ------------------ asd:3 dfg:2 gghhjj:4 ttyyuuu:3 asd:0 ------------------