-7

次の文字列を検討してください。

String test= "0, 1, 3, 2, 2, 1, 1, 4, 2, 5, 1, 1, 0, 1, 241";

最大値は最後の値 です24115241 は文字列の 15 番目の数字であり、行の最大の数字であるため、文字列内のこの数字のカウントを取得するにはどうすればよいですか?

2 番目の例:

String test=  "0, 1, 3, 2, 2, 1, 1, 4, 30, 5, 1, 1, 0, 1, 5";

30 が最大数であり、文字列の 9 番目であるため、結果は 9 になるはずです。

4

7 に答える 7

6

次の例では、maxIndex変数には配列内の最大値のインデックスが含まれ、実際の位置maxIndex + 1は探しているものです。

String test = "0, 1, 3, 2, 2, 1, 1, 4, 2, 5, 1, 1, 0, 1, 241";
String[] testArray = test.split(", ");

int max = Integer.MIN_VALUE, maxIndex = 0;

for (int i = 0; i < testArray.length; i++) {
     if (Integer.parseInt(testArray[i]) > max) {
         max = Integer.parseInt(testArray[i]);
         maxIndex = i;
     }
}

編集:他の変数を初期化し、コメントのおかげでいくつかのコードを修正しました

于 2013-05-20T13:10:08.990 に答える
5

文字列を分割するString.split(",");と、配列が返されます。その配列内の最大値を探します

于 2013-05-20T13:06:28.113 に答える
0
int max = Integer.MIN_VALUE, pos=0, i=0;
for (String s : test.split(",")) {
    if (Integer.parseInt(s) > max) { max = Integer.parseInt(s); pos = i; }
    ++i;
}
System.out.println("Position of max value is: " + (pos+1));
于 2013-05-20T13:14:58.557 に答える
0

速くて醜い:

String initialString = "0, 1, 3, 2, 2, 1, 1, 4, 2, 5, 1, 1, 0, 1, 241";
        String[] sArray = initialString.split(", ");
        List<Integer> iList = new ArrayList<Integer>();
        for (String s: sArray) {
            iList.add(Integer.parseInt(s));
        }
        Collections.sort(iList);
        // finding last item's value
        System.out.println(iList.get(iList.size() - 1));
        // now finding index
        System.out.println(iList.indexOf(Integer.parseInt("241")));

出力:

241
14

2 番目の出力は、解析された最大の整数のインデックスを示します。注:NumberFormatException簡単にするために、ここではチェックしません。

より良い解決策:

と を引き続き使用String.splitListますが、独自の を実装しますComparator

于 2013-05-20T13:14:28.403 に答える
0

この文字列を で分割,し、配列内で最大のものを見つける必要があります。指定された文字列での検索に適用できる最大の数値文字列を取得します。

于 2013-05-20T13:07:19.657 に答える
0

このように文字列を配列に分割してみてください。次に、その配列から最大数の位置を見つけます

    String[] YourArray=this.split(",");

    int largest = YourArray[0];
int largestpos;

      for(i = 0; i < YourArray.length; i++){

       if(Integer.parseint(YourArray[i]) > largest){
       largest = YourArray[i];
       largestpos=i;// This is what you need
    }
}
于 2013-05-20T13:07:20.407 に答える
0

1) 文字列を分割し、(int 型の) 配列に入れます。2) 次に、JAVA API が提供する任意の種類の並べ替えを使用できます。3) 目的の出力が見つかります。

于 2013-05-20T13:07:52.933 に答える