【发布时间】:2021-08-01 06:22:44
【问题描述】:
我正在尝试获取字符串中的唯一单词,然后将其连同它出现的次数一起存储在一个数组中。
我的方法是为if-else 语句中的每个唯一字符串分配一个唯一整数,然后获取这些整数的唯一计数,并从分配了唯一值的字符串中提取任何一个单词,最后获取唯一整数出现的次数。
但是,每当我为 String 分配唯一值时,我都会得到 null:
import java.util.Arrays;
public class StringLearning {
public static void main(String[] args) {
final String text = "Win Win Win Win Draw Draw Loss Loss";
int[] numbers = null;
if(text.equals("Win")) {
numbers= new int[1];
}else if(text.equals("Draw")){
numbers = new int [2];
}else if(text.equals("Loss")) {
numbers = new int [3];
}
System.out.println(Arrays.toString(numbers));
}
}
预期输出:
{1, 1, 1, 1, 2, 2, 3, 3}
编辑: 这如何在一般意义上实施?这样,我不知道字符串中有“Win, Loss, Draw”,但我想为任何给定的唯一单词分配一个唯一整数?
【问题讨论】:
-
"
numbers= new int[1];" - 这并不像您认为的那样。我建议阅读有关基本类型的教程以及有关数组的教程。两者都包含在this tutorial by Oracle。 -
这太糟糕了,我不认为它算作代码的“尝试”。请向您的教练寻求帮助,他们需要知道您正在为此苦苦挣扎。
-
@markspace 过去 2 周我一直在自学,所以我对 java 词典比较陌生。
-
我认为你需要一种更有条理的方法,也许可以找一个在线课程或社区大学之类的东西,你上面的东西根本不起作用。
-
@Stackbeans – 如果目前没有您可以询问的讲师,那么您应该寻找一位!抱歉,代码确实不是解决所描述问题的尝试,绝不是!!
标签: java arrays string integer