2012-04-16 18 views
0

javaの変換関数/ユーティリティを使用せずに文字列を123などの123に変換するプログラムをJavaインタビューで作成しました。クラス。Java変換関数/ユーティリティクラスを使用せずに文字列を数値に変換する

これが可能なら、私はまだ混乱しています。何か案は ? ありがとう

+0

ユーティリティクラスとしてカウント何?文字列を数字にマップし、文字列を繰り返し、文字列で数字を調べ、数字を作成できますか? – Colleen

答えて

1

文字列を個々の文字に分割し、それぞれをその数値にマップし、それぞれにそのプレース値を掛け合わせて結合します。

+0

Scottさんがコードで説明できますか?ありがとう –

0

私は「

:)回答信用を得ることができるユーティリティクラスとしてカウント何?あなたは数値に文字列のマップを持ってもらえ、文字列を反復処理し、ルックアップするので、私は私のコメントの答え作られている必要があります数字を文字列で表し、数字を構成しますか? "擬似コードで

Map<String, Integer> = { 
"0":0, 
"1":1, 
"2":2, 
... etc } 

int number = 0; 

for(i=string.length-1; i>=0; i--){ 
String substr = string.substring(i, i+1); 
int digit = map.get(substr); 
number += 10^(string.length-i)*digit; 
} 

return number 
+0

Colleenはあなたの提供したコードに従って、私は次のように書いています: Map map = new HashMap (); map.put( "0"、0); map.put( "1"、1); map.put( "2"、2); map.put( "3"、3); map.put( "4"、4); map.put( "5"、5); map.put( "6"、6); map.put( "7"、7); map.put( "8"、8); map.put( "9"、9); \t \t int number = 0; 文字列myNumber = "456"; for(int i = 0; i

+0

また、 "マップ"は複雑なJavaオブジェクトであり、map.get()関数を使用すると自動変換が必要な場合があります。 面接官がそれをもっと簡単にすることに関心があるのだろうかと思います。 –

+0

Integerからintに変換する必要があります(これは擬似コードであったためではありません)。あなたがそうするなら、それはうまくいくはずです。digit =(int)map.get(substr) – Colleen

関連する問題