私はクラスのために小さなプロジェクトを行ってきました。問題なく完全に実行されますが、クラスの自動テスターと比較すると、2行が見つからないというエラーが返されます。コースのスタッフに、行が存在しないときに行をスキャンしようとしているためだと彼らに尋ねましたが、すべてのスキャンを印刷しようとしましたが、そのようなものは見つかりませんでした。これが私のコードにあるすべてのスキャンです。
Scanner sc = new Scanner(System.in);
String sentence;
int choice;
System.out.println("Please enter a sentence:");
sentence = sc.nextLine();
printMenu(); // calls a function to print the menu.
// gets the require action
System.out.println("Choose option to execute:");
choice = sc.nextInt();
sc.nextLine();
(最後のsc.nextLineを使用した場合と使用しない場合で試しました)
static void replaceStr(String str)
{
String oldWord, newWord;
Scanner in = new Scanner(System.in);
// get the strings
System.out.println("String to replace: ");
oldWord = in.nextLine();
System.out.println("New String: ");
newWord = in.nextLine();
// replace
str = str.replace(oldWord, newWord);
System.out.println("The result is: " + str);
in.close();
}
static void removeNextChars(String str)
{
Scanner in = new Scanner(System.in);
String remStr; // to store the string to replace
String tmpStr = ""; //the string we are going to change.
int i; // to store the location of indexStr
// gets the index
System.out.println("Enter a string: ");
remStr = in.nextLine();
i=str.indexOf(remStr);
in.close(); // bye bye
if (i < 0)
{
System.out.println("The result is: "+str);
return;
}
// Build the new string without the unwanted chars.
/* code that builds new string */
str = tmpStr;
System.out.println("The result is: "+str);
}
ここでどのように線が漏れる可能性があるか考えていますか?