gpt4 book ai didi

Java,生成文本

转载 作者:行者123 更新时间:2023-12-01 14:12:58 25 4
gpt4 key购买 nike

我的程序的一部分有问题。在下面的代码中,27 是我们字母表中的字母数量; list_extend是一个Hashtable(StringBuffer,Integer)类型的对象,包含文本中长度为n+1的所有字符串及其出现次数; list_extended 构建正确,因为我已经控制了这部分。目的是:对于外部 for 的每次重复,我们取生成文本的最后 n 个字符,并且对于字母表中的每个字母,我们计算通过将该字符添加到最后一个字符而获得的 n+1 个字符在 list_extended 中出现的次数text_ generated 的 n 个字符;然后我们选择出现次数最多的字母。我得到的结果是出现的次数全部包含0,为什么?代码

        int index;
int[] occurrences = new int[27];
StringBuffer curr_word;
for(int x = 0; x < m; x++){ // m is the number of characters the user wants to add
curr_word = new StringBuffer(text_generated.substring(x, x+n)); // n is an integer entered previously, initially text_generated is formed by n characters
for(int j = 0; j < 27; j++){
if(list_extended.get(curr_word.append(array[j]))==null)
occurrences[j] = 0;
else
occurrences[j] =(int) list_extended.get(curr_word.append(array[j]));
}
index = 0;
for(int j = 1; j < 27; j++){
if(occurrences[j] > occurrences[index])
index = j;
}
text_generated = text_generated.append(array[index]);
}
System.out.println("The text generatd is \n" + text_generated.toString());

最佳答案

因为你创建了新的对象curr_word,但是你没有把它放入list_extended,所以每次你检查

if(list_extended.get(curr_word.append(array[j]))==null)

将为null

出现次数[j]将为0

关于Java,生成文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18354457/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com