Как рассчитывать вхождения символа в строке в Java - PullRequest
1 голос
/ 27 марта 2012

Может кто-нибудь сказать мне, как я могу сделать предложение if, которое говорит мне, как часто я использовал десятичный разделитель в этой строке.

т.е.: 1234,56,789

Ответы [ 6 ]

9 голосов
/ 27 марта 2012
String number = "1234,56,789";
int commaCount = number.replaceAll("[^,]*", "").length();
5 голосов
/ 27 марта 2012

Достаточно просто:

String number = "1234,56,789";
int count = 0;
for (int i = 0; i < number.length(); i++)
    if (number.charAt(i) == ',')
        count++;
// count holds the number of ',' found
4 голосов
/ 27 марта 2012

Я думаю, что самый простой способ - вывести String.split(",") и посчитать размер массива.

Итак, инструкция будет выглядеть так:

String s = "1234,56,789";
int numberofComma = s.split(",").length;

С уважением, Эрик

2 голосов
/ 27 марта 2012

Если вы можете использовать не-if-предложение, вы можете сделать:

int count = number.split(",").length
1 голос
/ 18 декабря 2013
public class OccurenceOfChar {

public static void main(String[] args) throws Exception {
    // TODO Auto-generated method stub

    BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
    System.out.println("Enter any word");
    String s=br.readLine();

    char ch[]=s.toCharArray();
    Map map=new HashMap();


    for(int i=0;i<ch.length;i++)
    {
        int count=0;
        for(int j=0;j<ch.length;j++)
        {
            if(ch[i]==ch[j])
                count++;
        }
     map.put(ch[i], count);


    }
    Iterator it=map.entrySet().iterator();
    while(it.hasNext())
    {
        Map.Entry pairs=(Map.Entry)it.next();
        System.out.println("count of "+pairs.getKey() + " = " + pairs.getValue());
    }





    }
}
1 голос
/ 27 марта 2012

Вам не нужно выражение if, просто используйте

String s = "1234,56,78";
System.out.println(s.split(",").length);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...