【发布时间】:2016-03-16 05:07:02
【问题描述】:
我被告知此代码在处理中不起作用,因为它是 java 8 语法,在处理中不受支持。我需要帮助将其转换为处理中的工作。 Processing 2 可以处理什么语法?有没有办法将 java 8 语法转换为在 Processing 2 中工作?
public static void main (String args[]) throws TwitterException {
Twitter twitter = new TwitterFactory().getInstance();
List<Status> statuses = twitter.getUserTimeline("google");
String hashtag = "#AlphaGo";
System.out.println("The Twitter page contains "
+ countTweets(hashtag, statuses)
+ " tweets with the hashtag : " + hashtag);
}
public static int countTweets(String hashtag, List<Status> statuses){
return (int) statuses.stream()
.filter(x -> x.getText().contains(hashtag))
.count();
}
由于我在声明变量时遇到问题: 当前版本
ConfigurationBuilder cb = new ConfigurationBuilder();
Twitter twitterInstance;
Query queryForTwitter;
ArrayList<Status> tweets = new ArrayList<Status>();
//ArrayList tweets;
void setup() {
cb.setOAuthConsumerKey("xxx");
cb.setOAuthConsumerSecret("xxx");
cb.setOAuthAccessToken("xxx");
cb.setOAuthAccessTokenSecret("xxx");
cb.setUseSSL(true);
size(640,440);
int countTweets(ArrayList<Status> statuses, String hashtag){
int total = 0;
for(Status tweet : statuses){
if(tweet.getText().contains(hashtag)){
total++;
}
}
return total;
}
int numGood = 50;
int numBad = 50;
for (int i = 0; i < numGood; i++) {
tweets.add("#good");
}
for (int i = 0; i < numBad; i++) {
tweets.add("#bad");
}
} //setup
//create a function that counts the tweets
//that contain a certain hashtag
int countTweets(String hashtag){
int total = 0;
for(String tweet : tweets){
if(tweet.contains(hashtag)){
total++;
}
}
return total;
}
void draw(){
//count the good and bad tweets
int goodTweets = countTweets("#good");
int badTweets = countTweets("#bad");
//calculate color based on tweet counts
float r = badTweets/100.0 * 255;
float g = goodTweets/100.0 * 255;
float b = 0;
background(r, g, b);
}
【问题讨论】:
-
如果 Processing 可以加载外部 JAR 并编译为 Java 8,为什么不导入包含此代码的 JAR?
-
这就是我为 twitter4j 库所做的。我对编程还是很陌生。你能指出我足够的 JAR 的方向吗? @Makoto
标签: java java-8 processing twitter4j