Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 计算文本文件中的字符数_Java - Fatal编程技术网

Java 计算文本文件中的字符数

Java 计算文本文件中的字符数,java,Java,嘿,伙计们,我正试图写一个代码来计算文本文件中的字符数 例如:aaabbbcc 3A 2B 2b 1c 2C 但是我不知道如何计算字符,比如(AAA),如果它们没有分开的话 我正在尝试,但它不像递归那样工作 String s = "aasjkkk"; int count1 = 0; int count2 = 0; char karakter1 = 0; char karakter2 = 0; for(int i = 0; i < s.length(); i++){ i

嘿,伙计们,我正试图写一个代码来计算文本文件中的字符数

例如:
aaabbbcc

3A 2B 2b 1c 2C
但是我不知道如何计算字符,比如
(AAA)
,如果它们没有分开的话

我正在尝试,但它不像递归那样工作

String s = "aasjkkk";

int count1 = 0;

int count2 = 0;

char karakter1 = 0;

char karakter2 = 0;

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

    if(s.charAt(i) == s.charAt(i+1)) {

        karakter1 = s.charAt(i);
        count1 += 1;

        System.out.print(count1 + " " + karakter1 + " ");

    }
    else if(s.charAt(i) != s.charAt(i+1)) {

        karakter1 = s.charAt(i);

            karakter1 = 1;

            karakter2 = s.charAt(i+1);

            karakter2 = 1;

            System.out.print(count1 + " " + karakter1 + " " + count2 + " " + karakter2 + " ");
    }


} 
String s=“aasjkk”;
int count1=0;
int count2=0;
char-karakter1=0;
char-karakter2=0;
对于(int i=0;i
由于这看起来像是一个家庭作业,我可以为您推荐一种方法:

  • 创建一个
  • 从文件的开头到结尾循环。如果您有一个新字符,则将一个新键设置为HashMap,值为1;如果不是,只需在旧字符的当前值上加一

  • 玩得开心

    你确实应该而且必须展示你以前的尝试

    我认为您可能已经考虑过将字符串放入
    char
    数组,进行迭代等等

    好吧,@buzz advice是一个很好的建议,下面是一个实现:

    公共类ClasesObjetos{

    public static void main(String[] args) {
    
        String s = "This is a single String";
    
        HashMap<Character, Integer> m = new HashMap();
    
        for (Character c : s.toCharArray()) {
    
            if (!c.equals(" ")) {
    
                if (m.get(c) == null )
                    m.put(c, 1);
    
                else {
                    int i = (int) m.get(c) + 1;
                    m.put(c, i);
                }
    
            }
        }
    
        for (Character c : m.keySet()) {
            System.out.println(c + " ---> " + m.get(c));
        }
    
    }  
    
    publicstaticvoidmain(字符串[]args){
    String s=“这是一个字符串”;
    HashMap m=新的HashMap();
    for(字符c:s.toCharArray()){
    如果(!c.equals(“”){
    如果(m.get(c)=null)
    m、 put(c,1);
    否则{
    int i=(int)m.get(c)+1;
    m、 put(c,i);
    }
    }
    }
    for(字符c:m.keySet()){
    System.out.println(c+“-->”+m.get(c));
    }
    }  
    
    }


    试试看,你会发现它忽略了空格。但它会计算任何符号,如果检查,您应该将
    相加

    抱歉,StackOverflow不是这样工作的。您必须在研究、发布您尝试过的代码、解释它为什么不起作用以及提出特定问题方面表现出努力。