2012-03-11 16 views
0

Javaの初めて。構文と全体的な言語構造に慣れさせようとしています。 文字セットへの文字セットと文字キャストへのキャスト

私は、文字列は、それがA904Cのようなものに変換されます1090412だった場合だけので、PHPで特定の文字

 for($x=10;$x<=20;$x++){ 
      $string = str_replace($x, chr($x+55), $string); 
     } 

に番号のすべてのインスタンスを変換し、JavaでこのPHPの機能を模倣しようとしています。

私はstring.replaceを使用してJavaでこれを行うにしようとしていますが、私の人生が適切に変数をキャストする方法を見つけ出すために、私はカント。私は整数を文字に変換することができることを知っていますが、それを(char)としてキャストしますが、そこからどこに行くのかはわかりません。これは私に文字セットを期待するコンパイルエラーを与えます。

string=1090412; 
    for (x = 10; x <= 35; x++) { 
     string.replace(x, (char) (x + 55)); 
    } 

答えて

0

まあ、これを行うための最善の方法ではないが、ここでは

import java.lang.*; 

public class T { 
    public static void main(String[] args) { 
    String s = "1090412"; 
    for (int i = 10; i <= 20; i++) { 
     s = s.replace(Integer.toString(i), "" + (char)(i + 55)); 
    } 
    System.out.println(s); 
    } 
} 

java.lang.Stringオブジェクトは、それに代わる方法がありますが動作する方法があります。これは、2つのcharパラメータまたは2つのオブジェクトを取るためにオーバーロードされます。CharSequence"" + (char)(i + 55)は、CharSequenceを作成する簡単な方法です。

+0

なぜこれを行うには最良の方法ではないとお考えですか? – cubesnyc

+0

まず最初に、s.replaceは文字列全体を最初から最後までforループを通して検索します。 – Casey