第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

計(jì)算句子中重復(fù)單詞的總數(shù)

計(jì)算句子中重復(fù)單詞的總數(shù)

aluckdog 2023-07-28 15:51:39
我想計(jì)算句子中重復(fù)單詞或重復(fù)單詞的總數(shù)。在這里我可以打印單詞但無(wú)法計(jì)算這些單詞。import java.util.*;public class Duplicate {          public static void main(String[] args) {                 String input = "Big black bug bit a big black dog on his big black nose";          //Scanner scanner = new Scanner(System.in);         //System.out.println("Enter the sentence");                //String input = scanner.nextLine();                int count;         int counter=0;                 //Converts the string into lowercase          input = input.toLowerCase();                    //Split the string into words using built-in function          String words[] = input.split(" ");                    System.out.println("Duplicate words in a given string : ");           for(int i = 0; i < words.length; i++) {              count = 1;              for(int j = i+1; j < words.length; j++) {                  if(words[i].equals(words[j])) {                      count++;                      //Set words[j] to 0 to avoid printing visited word                      words[j] = "0";                      counter=counter+1;                                    }              }                            //Displays the duplicate word if count is greater than 1              if(count > 1 && words[i] != "0")  {                System.out.println(words[i]);            }                    }                  System.out.println("Total Duplicate words in a given string : " +counter);}  }我期望輸出:--給定字符串中的重復(fù)單詞:big black給定字符串中的重復(fù)單詞總數(shù):2輸出如下:給定字符串中的重復(fù)單詞:big black給定字符串中的重復(fù)單詞總數(shù):10總計(jì)數(shù)顯示 10,而不是 2。
查看完整描述

2 回答

?
守著一只汪

TA貢獻(xiàn)1872條經(jīng)驗(yàn) 獲得超4個(gè)贊

將增量移動(dòng)到counter此處應(yīng)該可以:


if (count > 1 && !words[i].equals("0")) {

? ? counter++;

? ? System.out.println(words[i]);

}

而不是在第二個(gè)循環(huán)中。counter每次您發(fā)現(xiàn)另一個(gè)重復(fù)項(xiàng)時(shí),現(xiàn)在都會(huì)增加。counter僅當(dāng)您發(fā)現(xiàn)存在重復(fù)單詞時(shí),向下移動(dòng)才會(huì)增加它。


也就是說,可以通過使用Map來(lái)計(jì)算每個(gè)單詞出現(xiàn)的次數(shù)來(lái)簡(jiǎn)化此方法。



查看完整回答
反對(duì) 回復(fù) 2023-07-28
?
波斯汪

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超4個(gè)贊

嘗試使用 1 個(gè)HashMap而不是 2 個(gè) for 循環(huán),如下所示


public static void main(String[] args) {  


    String input = "Big black bug bit a big black dog on his big black nose";  

    HashMap<String, Integer> dupCount = new HashMap<>();


       //Converts the string into lowercase  

    input = input.toLowerCase();  


    //Split the string into words using built-in function  

    String words[] = input.split(" ");  



    System.out.println("Duplicate words in a given string : ");   

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

        if(dupCount.containsKey(words[i])){

            int cnt = dupCount.get(words[i]);

            cnt = cnt + 1;

            dupCount.put(words[i], cnt);        

        }else{

            dupCount.put(words[i], 0);

        }

    }


    for(Map.Entry<String, Integer> test : dupCount.entrySet()){

        if(test.getValue() > 1)  {

            System.out.println("Duplicate words in a given string : " +test.getKey() + " : " + test.getValue());

        }

    }

}

在這種情況下,每次出現(xiàn)重復(fù)時(shí)都會(huì)打印最后一條語(yǔ)句,您可以根據(jù)需要對(duì)其進(jìn)行修改。


查看完整回答
反對(duì) 回復(fù) 2023-07-28
  • 2 回答
  • 0 關(guān)注
  • 192 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)