-4

他の誰かがこの質問をしたかどうか、または同様のタイプの質問があるかどうかを確認しましたが、見つかりませんでした。

TwitterSearchAPIにアクセスするためのコードを作成しました。Twitterにアクセスして、ツイートを取り戻すことができます。ただし、絵文字をカウントするアプリケーションを作成することになっています。私はSwitchcaseステートメントを作成しました。これは、検索APIが通過するすべての絵文字をリストし、それらの数を数えたいものです。そして、それが絵文字を通過し、それがツイートに含まれている場合、私はそれを数えたいと思います。私は100を超える絵文字を持っていますが、それらを独自のswitchcaseステートメントで分離しました。ツイートに表示された可能性のある絵文字をカウントするにはどうすればよいですか?Javaでお願いします。または、別のルートについて教えてください。

うんいいね

これが私のTwitterSearchAPIコードです。

  public class searchingTwitter {
public static void main(String[] args) throws IOException {
    BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    String urlstr = "http://search.twitter.com/search.json?q=";
    // that is the Twitter search API, i can request a search query and get tweets related to query
    StringBuffer buff = new StringBuffer();
    System.out.print("Search for : "); // this is where you input what you want the tweets on
    urlstr += in.readLine();
    URL url = new URL(urlstr);
    BufferedReader br = new BufferedReader(new InputStreamReader(url.openConnection().getInputStream()));
    // opens a connection to twitter and gets the tweets
    int c;
    while ((c=br.read()) !=-1) { // stores the tweets
        buff.append((char)c); 
    }br.close();    

    JSONObject js = new JSONObject(buff.toString()); //converts whatever is buffered from Twitter to String
    JSONArray tweets = js.getJSONArray("results");
    // results = array, represents a single tweet and all the information regarding that tweet
            JSONObject tweet;
    for(int i=0;i<tweets.length();i++) {
        tweet = tweets.getJSONObject(i);
        System.out.println((i+5)+") "+tweet.getString("from_user") // username of tweeter
                +" at "+tweet.getString("created_at")); // time tweet written/created
        System.out.println(tweets.getJSONObject(i).getString("text")+"\n"); // Prints out the tweet texts, one on a new line everytime
}

幸福のクラスをどのように呼びますか?見通して数えることができるようにお願いします。

私を助けてくれてありがとう!これは私の論文のためでした。

4

1 に答える 1

2

スイッチではなくマップを使用してください。スイッチは、実際には、特定のコードスニペットを実行する小さなデータセット用です。データマップの断片を関連付けるには、はるかに優れています。また、jdk 7より前では、switchステートメントに使用できるのはintのみです。

public void updateEmoticonMap(Map<String,Integer> countMap, String emoticon){
    Integer count = countMap.get(emoticon);
    if(count == null){
        count = 0;
    }
    count++;
    countMap.put(emoticon,count);
}
于 2013-03-14T22:53:04.307 に答える