如何使用Java方法返回的布尔值?

如何使用Java方法返回的布尔值?,java,boolean,return,Java,Boolean,Return,我有一个方法,它将一组字符发送到另一个方法,如果存在某个字符,该方法将返回true或false。一旦此方法计算所有字符并为每个字符返回true或false,如何在另一个方法中使用这些true或false值? 我想我有一次发送一个字符的方法。布尔方法不是布尔数组 public void Parse(String phrase) { // First find out how many words and store in numWords // Use "isDelim()

我有一个方法,它将一组字符发送到另一个方法,如果存在某个字符,该方法将返回true或false。一旦此方法计算所有字符并为每个字符返回true或false,如何在另一个方法中使用这些true或false值? 我想我有一次发送一个字符的方法。布尔方法不是布尔数组

    public void Parse(String phrase)
{
    // First find out how many words and store in numWords
    // Use "isDelim()" to determine delimiters versus words
    //
    // Create wordArr big enough to hold numWords Strings
    // Fill up wordArr with words found in "phrase" parameter


    int len = phrase.length();
    char[] SeperateString = new char[len];
    for (int i = 0; i < len; i++) {
        SeperateString[i] = phrase.charAt(i);
        isDelim(SeperateString[i]);
        System.out.println(SeperateString[i]);

  boolean isDelim(char c)
{


    {
        if (c == delims[0])
            return true;
        else if (c == delims[1])
            return true;

        else if (c == delims[2])
            return true;
        else
            return false;

    }

    //Return true if c is one of the characters in the delims array, otherwise return false

}
公共void解析(字符串短语)
{
//首先找出有多少个单词并存储在numWords中
//使用“isDelim()”确定分隔符与单词的对比
//
//创建足够大的单词arr以容纳numWords字符串
//用“短语”参数中的单词填充wordArr
int len=phrase.length();
char[]separateString=新字符[len];
对于(int i=0;i
所以您的方法是这样的

boolean myMethod(String s) {
    // returns true or false somehow... doesn't matter how
}
boolean[] myMethod(String s) {
    // generates the booleans
}
你可以稍后再做

boolean b = myMethod("some string");

someOtherMethod(b);
甚至

someOtherMethod(myMethod("some string"));
现在,如果你的方法返回很多布尔值,比如说每个字符一个布尔值,它看起来更像这样

boolean myMethod(String s) {
    // returns true or false somehow... doesn't matter how
}
boolean[] myMethod(String s) {
    // generates the booleans
}
您必须以其他方式访问它们,可能是这样:

String str = "some string";
boolean[] bools = myMethod(str);
for(int i = 0; i < str.length(); i++) {
    someOtherMethod(bools[i]);
}
String str=“some String”;
boolean[]bools=myMethod(str);
对于(int i=0;i
关于这方面的更多信息,你必须发布你的代码

对于发布的代码,下面是我将要做的

/**
 * Parse a string to get how many words it has
 * @param s the string to parse
 * @return the number of words in the string
 */
public int parse(String s) {
    int numWords = 1; // always at least one word, right?
    for(int i = 0; i < s.length(); i++) {
        if(isDelim(s.charAt(i)) numWords++;
    }
    return numWords;
}

private boolean isDelim(char c) {
    for(char d : delims) if(c == d) return true;
    return false;
}
/**
*解析一个字符串以获取它有多少个单词
*@param是要分析的字符串
*@返回字符串中的字数
*/
公共整数解析(字符串s){
int numWords=1;//总是至少有一个单词,对吗?
对于(int i=0;i
所以您的方法是这样的

boolean myMethod(String s) {
    // returns true or false somehow... doesn't matter how
}
boolean[] myMethod(String s) {
    // generates the booleans
}
你可以稍后再做

boolean b = myMethod("some string");

someOtherMethod(b);
甚至

someOtherMethod(myMethod("some string"));
现在,如果你的方法返回很多布尔值,比如说每个字符一个布尔值,它看起来更像这样

boolean myMethod(String s) {
    // returns true or false somehow... doesn't matter how
}
boolean[] myMethod(String s) {
    // generates the booleans
}
您必须以其他方式访问它们,可能是这样:

String str = "some string";
boolean[] bools = myMethod(str);
for(int i = 0; i < str.length(); i++) {
    someOtherMethod(bools[i]);
}
String str=“some String”;
boolean[]bools=myMethod(str);
对于(int i=0;i
关于这方面的更多信息,你必须发布你的代码

对于发布的代码,下面是我将要做的

/**
 * Parse a string to get how many words it has
 * @param s the string to parse
 * @return the number of words in the string
 */
public int parse(String s) {
    int numWords = 1; // always at least one word, right?
    for(int i = 0; i < s.length(); i++) {
        if(isDelim(s.charAt(i)) numWords++;
    }
    return numWords;
}

private boolean isDelim(char c) {
    for(char d : delims) if(c == d) return true;
    return false;
}
/**
*解析一个字符串以获取它有多少个单词
*@param是要分析的字符串
*@返回字符串中的字数
*/
公共整数解析(字符串s){
int numWords=1;//总是至少有一个单词,对吗?
对于(int i=0;i
在我看来,您可以改用String.split()。 您也可以使用正则表达式,因此可以包含3个不同的分隔符。 如果你仍然需要作品的数量,你可以得到结果的长度

假设delims是一个字符数组,使用它来生成正则表达式是安全的:

String regex = "[" + new String(delims) + "]";
String result = params.split(regex);

在我看来,您可以使用String.split()来代替。 您也可以使用正则表达式,因此可以包含3个不同的分隔符。 如果你仍然需要作品的数量,你可以得到结果的长度

假设delims是一个字符数组,使用它来生成正则表达式是安全的:

String regex = "[" + new String(delims) + "]";
String result = params.split(regex);


张贴你的代码。你的问题不清楚。你是一次发送
字符集
,还是一个接一个地发送字符?该方法是返回布尔值的
集合
,还是一个接一个地返回布尔值?该方法是返回布尔值数组还是单个布尔值?你不能定义方法(isDelim)在另一个方法中(解析)。发布你的代码。你的问题不清楚。你是一次发送
字符集合
,还是一个接一个地发送字符?该方法是返回布尔值的
集合
,还是一个接一个地返回布尔值?该方法是返回布尔值数组还是单个布尔值?你不能定义方法(isDelim)在另一个方法(Parse)中。这是作弊。你在我在评论中的问题之后编辑了它:)@托利提乌斯:我不认为这是作弊。我们第一次对这个问题的解释不同。仅此而已。我仍然很好奇为什么会投反对票。放松点,我在开玩笑。我们都是来帮助/学习的。如果需要得到满足,那才是最重要的。[顺便说一句,我不是对你的答案投反对票的人]我把它投了赞成票,因为你尽力去回答,尽管所问的问题很模糊(或者更糟)@Guillaume如果OP决定更新他的问题,我很乐意详细解释一下!:-)那是作弊..你在我在评论中的问题之后编辑了它:)@tolitius我不会称之为作弊。我们第一次对这个问题的解释不同。仅此而已。我仍然很好奇为什么它会被否决。放松,我在开玩笑。我们都是来帮助/学习的。如果需要得到满足,那就是一切。[顺便说一句,我并不是投反对票的人]我投了赞成票,使之达到了平衡,因为你虽然问的问题含糊不清(或更糟),但还是尽力去回答@Guillaume如果OP决定更新他的问题,我想详细说明一下!:-)这将编译一个正则表达式模式,它比他想要做的要昂贵得多。如果效率是个问题,那么是的,每个字符的方法