gpt4 book ai didi

java - 如果这个单词不在数组中,如何更新数组?

转载 作者:行者123 更新时间:2023-12-02 04:07:11 25 4
gpt4 key购买 nike

我正在将 Java 文件转换为 XREF 文件。

这是我的问题:我想检查一个单词是否在数据库中,如果数据库中没有,则将其添加到数据库中。

这是我的代码(它是一个方法):

void add(String word, int lineNumber) {
/* If not a Java reserved word, insert word into the database,
indicating that it is referenced on line lineNumber */

// all Java reserved words; word at end guarantees
String[] javaReservedWord = {
"abstract", "assert", "boolean", "break",
"byte", "case", "catch", "char", "class", "const", "continue",
"default", "do", "double", "else", "enum", "extends", "false",
"final", "finally", "float", "for", "goto", "if", "implements",
"import", "instanceof", "int", "interface", "long", "native",
"new", "null", "package", "private", "protected", "public",
"return", "short", "static", "strictfp", "super", "switch",
"synchronized", "this", "throw", "throws", "transient", "true",
"try", "void", "volatile", "while", word
};

int i; // termination of for loop

// traverse javaReservedWord and see if any entry matches word
for (i = 0; !word.equals(javaReservedWord[i]); i++);

// matches a reserved word, so don't add to database
if (i < javaReservedWord.length - 1) return;

/* doesn't match a reserved word, so proceed by searching to see if
word is already in database */
}

在这个方法中,Java文件被StringTokenizer分成了很多个单词,即String wordlineNumber就是这个所在的行>单词是。

最佳答案

您不能从定义为 void 的方法中返回任何内容,也不能返回两个内容。为此,您需要一个特殊的类(class)。

我会尝试这样的事情:

import java.util.Arrays;
import java.util.List;

public class Word {

private List<String> javaReservedWord = Arrays.asList(
"abstract", "assert", "boolean", "break",
"byte", "case", "catch", "char", "class", "const", "continue",
"default", "do", "double", "else", "enum", "extends", "false",
"final", "finally", "float", "for", "goto", "if", "implements",
"import", "instanceof", "int", "interface", "long", "native",
"new", "null", "package", "private", "protected", "public",
"return", "short", "static", "strictfp", "super", "switch",
"synchronized", "this", "throw", "throws", "transient", "true",
"try", "void", "volatile", "while"
);

class WordAndNumber {
private String word;
private int lineNumber;

public WordAndNumber(String word, int lineNumber) {
this.word = word;
this.lineNumber = lineNumber;
}

public String getWord() {
return word;
}

public int getLineNumber() {
return lineNumber;
}
}

private WordAndNumber add(String word, int lineNumber) {

if (javaReservedWord.contains(word)) {
return null;
} else {
// add in DB

return new WordAndNumber(word, lineNumber);
}
}
}

关于java - 如果这个单词不在数组中,如何更新数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34160646/

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