当前位置: 首页 > 知识库问答 >
问题:

codingBat问题:如果字符串中的每个'*'(星号)返回true

段恩
2023-03-14

我正在研究这个codingbat问题:如果字符串中的每个'*'(星形)都返回true,如果星形前后都有字符,那么它们是相同的。示例:

sameStarChar("xy*yzz") → true
sameStarChar("xy*zzz") → false
sameStarChar("*xa*az") → true
public boolean sameStarChar(String str) {
  //boolean flag = false;

  for(int i =1;i< str.length()-1; i++){
    if(str.charAt(i) == '*' && str.charAt(i-1) == str.charAt(i+1)){
      return true;
    }
  }
  return false;
}
public boolean sameStarChar(String str) {
  //boolean flag = false;

  for(int i =1;i< str.length()-1; i++){
    if(str.charAt(i) == '*' && str.charAt(i-1) != str.charAt(i+1)){
      return false;
    }
  }
  return true;
}

结果得到修正。我不明白我的第一次尝试有什么问题。

共有1个答案

金谭三
2023-03-14

第一次尝试有两个问题:

  • 它无法考虑根本不包含任何星号的字符串的情况,对于该字符串,循环将运行到完成,然后将错误地返回false
  • 它错误地在星号的第一对匹配邻居上返回true,而不管后面可能有任何不匹配的对。
 类似资料:
  • 这项任务是在Codingbat上制定的。(https://codingbat.com/prob/p194491): 如果字符串中的每个“*”(星号),如果星号前后都有字符,则返回true。 如何修复我的解决方案,以便使用正则表达式解决此任务? 我的尝试: 我的解决方案对一半以上的测试都是正确的,但并非所有测试都是正确的。

  • 我有一个使用函数的string参数并传递给返回最长单词的函数的代码。 我想知道是否可以使用,然后使用索引访问每个字母表,这样我就可以知道字符串中有多少个单词,然后比较它们,这样我就可以返回最长的单词。 我是这样开始的。它与典型数组很好地工作,但典型数组需要预定义的大小。

  • 问题内容: 在我的AJAX调用中,我想将字符串值返回到调用页面。 我应该使用还是返回一个字符串? 问题答案: 您可以使用返回一个纯字符串: 默认情况下返回a 作为其contentType。这是可重载的,因此您还可以执行以下操作:

  • 问题内容: 好的,这就是我的for子手游戏代码,我唯一要做的就是让我的程序将其中一个单词随机化,这应该在方法中成功完成。但是我唯一的问题是让String变量 “ word” 返回到主类(在主类中的所有 “ word” 变量下面都有错误)。 如果我可以通过这种方法获得另一种帮助,或者从列表中产生随机单词的另一种方法,那将是惊人的。 问题答案: 在Java中,参数是通过值而不是引用传递的。因此,您不能

  • 问题内容: 我正在测试 PHP 与 Java 。 爪哇 的PHP 除了不是由Java编码并由PHP转换为%2A的“星号”字符,所有这两个函数的字符似乎都以相同的方式编码。哪种行为应该是“正确的”行为(如果有)? 注意:我也尝试过-没有运气。 问题答案: 可以在URL中使用(但也可以采用编码形式)。 RFC1738:统一资源定位符(URL)声明以下内容: 保留: […] 通常,当八位字节由字符表示并

  • 我试图使用Apache和MySQL XAMPP数据库为我的论坛建立一个登录页面,但它多次返回回显字符串,我知道它会遍历数据库中的所有行,检查是否为真,它返回的是“无效的用户名或密码!”直到找到正确的登录信息,然后返回“welcome”(欢迎)。 它是如何做到的,它只返回一个不正确的和正确的字符串?。