gpt4 book ai didi

java - 一个识别由给定三个单词的任意组合组成的单词的程序

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

我正在尝试编写一个java程序,它接受一个字符串作为输入并检查它是否有效。决定规则是:

1) 当且仅当该字符串包含单词“pi”、“ka”、“chu”作为其片段,并且以任意顺序重复任意次数时,该字符串才是可识别的。2)如果它包含任何其他片段(或子序列),则它无法识别

例如,“皮卡丘”仅由“pi”、“ka”、“chu”组成,因此可以识别。“kachupi”仅由“ka”、“chu”、“pi”组成,因此可以识别。“pipi”也是可识别的,因为它包含两次“pi”。“pich”无法识别,因为“ch”不是指定的子序列之一。

我在下面发布我的java代码。但它不能正常工作。请检查并提供帮助。提前致谢!

import java.util.Scanner;

public class RecognisingWords {


public static void main(String[] args) throws Exception
{

Scanner inp= new Scanner(System.in);
String str;
int len;
System.out.println("Enter the string to be tested:");
str=inp.nextLine();
System.out.println(str);

while(str !=null)
{

if(str.startsWith("pi"))
{
len=str.length();
str= str.substring(2,len);
}

else if(str.startsWith("ka"))
{
len=str.length();
str= str.substring(2,len);
}

if(str.startsWith("chu"))
{
len=str.length();
str= str.substring(3,len);
}

else
{
System.out.println("Unrecognisable Sequence");
break;
}

}

if(str == null)
{
System.out.println("Recognisable Sequence");
}


}

}

最佳答案

您需要进行两项更改:

首先,改变

if(str.startsWith("chu"))

else if (str.startsWith("chu"))

否则像“pipi”这样的字符串将无法通过测试。

第二,

while(str !=null)

永远不会失败,因为str永远不会是null。您需要测试是否为空:

while (str.length() > 0)

关于java - 一个识别由给定三个单词的任意组合组成的单词的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10662402/

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