ブルート フォース手法を使用して単純な部分文字列検索を実行しようとしていますが、表示できないエラーが発生します。私はプログラミングにかなり慣れていないので、覚えておいてください。問題は非常に単純かもしれません。
using System;
using System.Collections;
using System.Collections.Generic;
namespace SubstringSearch
{
class Program
{
static void Main(string[] args)
{
Console.Write("Please enter some letters: ");
string sequence = Console.ReadLine();
Console.Write("Enter the sequence you want to search for: ");
string pattern = Console.ReadLine();
Console.WriteLine(Search(pattern, pattern.Length, sequence, sequence.Length));
Console.ReadLine();
}
public static int Search(string pattern, int patternLength, string sequence, int stringLength)
{
int i;
int j;
if (stringLength >= patternLength)
{
for (j = 0; j <= (stringLength - patternLength); j++)
{
for (i = 0; i < patternLength && pattern[i] == sequence[i + j]; i++);
if (i >= patternLength)
return j;
else
return -1;
}
}
else
return -1;
}
}
}
そのため、1 つのエラーと 1 つの警告が表示されます。最初に、すべてのコード パスが ( Search() で) 値を返すわけではないことがわかります。理由がわかりません。次に、整数「j」が最初の for ループ (「j++」) で到達できないという警告が表示されます。
助けてください!答えは非常に単純だと思いますが、私にはわかりません。