Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:返回Int值/多个值_Java - Fatal编程技术网

Java:返回Int值/多个值

Java:返回Int值/多个值,java,Java,代码需要检查字符串字母是否在字符串消息中,以及它在字符串消息中的次数。return语句表示无法将int count转换为布尔值,因此我不确定如何返回该值。如何将count返回给main方法,以便代码打印在字符串消息中找到字符串字母的次数 public class StringFind { /** findLetter looks for a letter in a String * @param String letter to look for * @param String

代码需要检查字符串字母是否在字符串消息中,以及它在字符串消息中的次数。return语句表示无法将int count转换为布尔值,因此我不确定如何返回该值。如何将count返回给main方法,以便代码打印在字符串消息中找到字符串字母的次数

public class StringFind
{
  /** findLetter looks for a letter in a String
   * @param String letter to look for
   * @param String text to look in
   * @return boolean true if letter is in text
   * After running the code, change this method to return
   * an int count of how many times letter is in the text.
   */
   public boolean findLetter(String letter, String text)
   {
       boolean flag = false;
       int count = 0;
       for(int i=0; i < text.length(); i++)
       {
           if (text.substring(i, i+1).equalsIgnoreCase(letter))
               {
              flag = true;
               count++;
           }
   }
  return flag;
   }
public static void main(String args[])
{
    StringFind test = new StringFind();
    String message = "Apples and Oranges";
    String letter = "p";
    System.out.println("Does " + message +  " contain a " + letter + "?");
    System.out.println( test.findLetter(letter, message));
    System.out.println(message + " contains " + letter + " " + count + " times.");
}
}
公共类StringFind
{
/**芬德莱特在字符串中查找字母
*@param要查找的字符串字母
*@param要查找的字符串文本
*@如果字母为文本,则返回布尔值true
*运行代码后,将此方法更改为return
*字母在文本中出现的次数的整数计数。
*/
公共布尔findLetter(字符串字母、字符串文本)
{
布尔标志=假;
整数计数=0;
对于(int i=0;i
将返回类型从
boolean
更改为
int
,并将
返回标志更改为
返回计数
。如果返回计数,则标志是多余的。计数包含相同的信息:如果
count>0

您的答案可以在代码中找到,则可以找到该字母:

* @return boolean true if letter is in text
* After running the code, change this method to return
* an int count of how many times letter is in the text.
只需将函数的标题更改为:

public int findLetter(String letter, String text)
这样你就可以说“嘿,我会给你一个号码”

然后更改函数中的最后一行:

return count;
你完了。println将打印您的返回计数值


快乐编码

您应该修改方法
findLetter
的签名以返回
count
,对于布尔值,比较返回的计数是否大于0:

public int findLetter(字符串字母、字符串文本){
整数计数=0;
char cc=Character.toLowerCase(字母.charAt(0));
for(char textLetter:text.toLowerCase().toCharArray()){
如果(textLetter==cc){
计数++;
}   
}
返回计数;
}
测试将如下所示:

StringFind test=new StringFind();
String message=“苹果和橙子”;
字符串字母=“p”;
int count=test.findLetter(字母、消息);
System.out.println(“是否“+消息+”包含“+字母+”?”);
系统输出打印项次(计数>0);
System.out.println(message+“包含”+字母+“+计数+”次数);


如果您已经说出了该值出现的次数,那么如果该值出现,我不知道为什么需要返回true。他们的意思是一样的。