これまで、文字列に連続した昇順または降順の文字があるかどうかを確認するために、このコードを作成しました。これらは、入力が連続しているか、または 89012 のような文字列ではないか、または xyZabc が連続としてカウントされるかを示す不変条件です。一方、09283dgdDDf は連続しているとは見なされません。AbCBa や 1abC などのコーナー ケースは false を返す必要があります。一方、DcbaZ は true を返す必要があります
これまでのところ、私のコードは文字部分だけのものであることに注意してください。この初心者が機能するように助けてください。エラーがあります
import java.util.Scanner;
public class generalizedorder {
public static void main(String[] args)
{
java.util.Scanner reader = new java.util.Scanner(System.in);
System.out.println("Enter the string");
String s = reader.next();
}
public boolean checkForAscendingOrDescendingPart(String s, int l)
{
for (int i = 0; i <= s.length() - l; ++i)
{
boolean success = true;
char c = s.charAt(i);
for (int j = 1; j < l; ++j)
{
if (((char) c + j) != s.charAt(i + j))
{
success = false;
break;
}
}
if (success) return true;
success = true;
for (int j = 1; j < l; ++j)
{
if (((char) c - j) != s.charAt(i + j))
{
success = false;
break;
}
}
if (success) return true;
}
return false;
}}
system.out.println(checkForAscendingOrDescendingPart);
}}