■掲示板に戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 最新50

再帰的な処理とは

1 :大和 : 2009/09/30 20:15
public class Test {
  public static void main(String[] args) {
    Test main = new Test();
    main.reflexiveVerb(0);
  }
  void reflexiveVerb(int counter) {
    this.counter++;
    if (this.counter <= 10) {
      return;
    }
    reflexiveVerb(this.counter);
  }
}


こういうことか('ω')。


2 :アヌス : 2009/04/11 22:46
かざっさん。long型の整数にコンマいれるのって Stringに変換してからじゃないと できない?

9999 だと 9,999
1023004567 だと 1,023,004,567

っていうふうにしたいんだ


3 :大和 : 2009/04/11 23:27
整数しか代入できないのでString型にしてからじゃないと無理っぽそうだね!


4 :アヌス : 2009/04/12 00:24
でも数字3つおきにコンマいれるのはわかるんだけど、左から3つずつかぞえるよね。しかしインデックスは左から始まるよね

"," + str.substring(length-4, length-1);

こうしてもコンマは一番最初についちゃうし・・・左からじゃ3つ数えたらいかんし。
なんかアイデアあります?


5 :アヌス : 2009/04/12 00:25
あ、組み合わせは 解決しました^^


6 :大和 : 2009/04/12 10:22
組み合わせ解決したの!?
さすが!


7 :大和 : 2009/04/12 10:31
>>4
思いついたのは,
文字を逆さにして,3つずつ数えてコンマを挿入。
終わったらまた文字を逆さにして元通りにする,とどうかなー。

「100040」なら「040001」にして,
「040,001」にして元に戻して「100,040」とか!


[1]
StringBufferクラスにreverse()メソッドってのがあるねえ。

StringBuffer sb = new StringBuffer("I am Kakitama.");
String myName = sb.reverse().toString();

出力結果:「.amatikaK am I」


[2]
自分でメソッドを作っちゃうとかかなあ。

forループで数字1つずつ抜き取って逆さにして,
3つずつコンマを挿入して,またforループで逆さにして元に戻す。

でしょうか!


8 :アヌス : 2009/04/12 16:46
forループ使っちゃいけないことになってるんだよね・・・

一つアイデアが。

整数を3桁ごとにコンマを入れるわけだから、1000で割り、その商の次にコンマを入れて、あまりをまた1000で割りコンマをいれるって やり方

public static String intWithCommas(long n) {

String str = "";

if(n<1000){
return String.valueOf(n);
}else{
str = "," + String.valueOf(n%1000);
System.out.println(str);
}
return intWithCommas(n/1000) + str;
}


254 KB
続きを読む

掲示板に戻る 全部 次100 最新50
名前: E-mail (省略可) :

read.php ver2.4 2005/04/13