Java 标签倍数
我试图在用户输入的tweet中找到唯一hashtag的数量。例如,如果有人输入“#一#七#一紫绿色#红色”,它将显示3个独特的标签,分别为“#一、#七、#红色”。在我的代码中,我可以对一条tweet执行此操作,但我不知道如何输入多条tweet并从中找到所有唯一的hashtagJava 标签倍数,java,loops,unique,Java,Loops,Unique,我试图在用户输入的tweet中找到唯一hashtag的数量。例如,如果有人输入“#一#七#一紫绿色#红色”,它将显示3个独特的标签,分别为“#一、#七、#红色”。在我的代码中,我可以对一条tweet执行此操作,但我不知道如何输入多条tweet并从中找到所有唯一的hashtag package edu.bsu.cs121.jmgibson; import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet;
package edu.bsu.cs121.jmgibson;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
public class Tweet {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Please enter a tweet");
String tweet = scanner.nextLine();
Set<String> hashtags = getHashtags(tweet);
System.out.println(hashtags.toString());
}
public static Set<String> getHashtags(String tweet) {
String[] words = tweet.split(" ");
Set<String> hashtags = new HashSet<String>();
for (String word : words) {
if (word.startsWith("#")) {
hashtags.add(word);
}
}
return hashtags;
}
}
包edu.bsu.cs121.jmgibson;
导入java.util.ArrayList;
导入java.util.array;
导入java.util.HashSet;
导入java.util.Scanner;
导入java.util.Set;
公共类推文{
公共静态void main(字符串[]args){
扫描仪=新的扫描仪(System.in);
System.out.println(“请输入tweet”);
String tweet=scanner.nextLine();
设置hashtags=getHashtags(tweet);
System.out.println(hashtags.toString());
}
公共静态设置getHashtags(字符串tweet){
String[]words=tweet.split(“”);
Set hashtags=new HashSet();
for(字符串字:字){
if(word.startsWith(“#”){
hashtags.add(word);
}
}
返回标签;
}
}
我不想为你做家庭作业,但我会提供一些建议:
main()
中,需要一个请求输入并进行调用的循环
到getHashtags()
getHashtags()
的内部创建新的HashSet
,
在main()
(循环外部)中创建一个,并将其传入1.循环并获得许多tweet输入 差不多
for(int i=0;i<100;i++)
{
System.out.println("Please enter a tweet");
String tweet[i] = scanner.nextLine();
}
for(inti=0;i在main中需要一个循环来收集多个输入
我会将您的输入收集到一个字符串中,以便使用已定义的getHashtags
像这样的
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Please enter a tweet");
String tweet = "";
while(!scanner.nextLine().equals("stop")){
tweet += scanner.nextLine();
}
Set<String> hashtags = getHashtags(tweet);
System.out.println(hashtags.toString());
publicstaticvoidmain(字符串[]args){
扫描仪=新的扫描仪(System.in);
System.out.println(“请输入tweet”);
字符串tweet=“”;
而(!scanner.nextLine().equals(“stop”)){
tweet+=scanner.nextLine();
}
设置hashtags=getHashtags(tweet);
System.out.println(hashtags.toString());
}
因此,一个循环和一个+=
应该可以做到这一点。传递tweetstring数组是什么意思?你传递的是一条tweet,而不是很多tweet。下面的帖子可能会帮助你:你仍然会使用相同的Set hashtags=getHashtags(tweet);但是要知道你现在正在传递整个tweet数组,我想说的是什么
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Please enter a tweet");
String tweet = "";
while(!scanner.nextLine().equals("stop")){
tweet += scanner.nextLine();
}
Set<String> hashtags = getHashtags(tweet);
System.out.println(hashtags.toString());