2016-12-21 1 views
-5

indexOfメソッドが文字列でどのように機能するか教えてください。
私はそれをどのように使っているのか知っていますが、私はそれがどのように機能しているか知りたいのです...私は家の仕事があり、教師は索引を使って解決するように頼みます。ダブル・ナンバーでの(。)の位置文字列での作業のインデックス方法

+1

https://docs.oracle.com/javase/8/docs/api/java/lang/String.html – Marvin

+1

ドキュメントまたはソース・コードのいずれかを使用して、このトピックをオフトピックとして閉じることができます。答えを教えてください。 – demongolem

+0

@demongolemは私に与えることができますか?そして、私は感謝するでしょう – Aghyad

答えて

1

リニア・サーチができます。パーサーの場合は、入力されたcharをcharで解析できます。

EDIT:(?)あなたは二重の変数に特別な数字を探している言及コメントで

。それは文字列に格納されていますか?もしそうなら、あなたは上記のように線形探索を使うことができます。

//In your question it seems the strings are well fitted as [0..9]++[.]++[0..9]++ 
int indexOfFirstDigit = 0; 
int indexOfLastDigit = input.length(); 
//so we only have to look for the decimal dot 
int indexBeforeDec = 0; 
int indexAfterDec = 0; 
for(int i = 0; i < input.length();i++){ 
    char current = input.charAt(i); 
    if(current == '.'){ 
     indexBeforeDec = i-1; 
     indexAfterDec = i+1; 
    } 
} 
//Get the values with input.charAt() and the corresponding index 

すでに解析された二重変数があり、特別な数字が欲しいですか?

int digitBeforeDec = (int)input%10; 
int digitAfterDec = (int)(input*10) %10; 
//firstDigit 
int firstDigit; 
int in = (int) input; 
int mod = in%10; 
while (mod != 0 && in > 10) { 
    in /=10; 
    mod = in%10; 
} 
firstDigit = mod; 
//LastDigit is not that easy for reasons of inaccuracy in double representation. 

最後の数字は、メモリ内のドブル表現のために簡単ではありません。ほとんどの場合、メモリに正確な値が設定されません。たぶん.ToString()呼び出しと上記の線形検索は、あなたにとって十分なものです。

+0

私はこの質問を持っているので、indexOfの作業について尋ねました.... – Aghyad

+0

786.45のような倍数を読んで、インデックスなしで次のものを見つけるプログラムを書いてください:最初の桁と最後の桁と10進数の前の桁と10進数の後の桁 – Aghyad

+1

@Aghyad質問を編集して明確にしてください。回答を求めていない場合は、コメントを追加しないでください。コメントは最初に表示されないかもしれませんし、あなたの質問に答えようとしている別のユーザーはそれらを見ていないかもしれません。 – Robert

関連する問題