私はユーザーが入力した文字列を、プログラムの後のメインに呼び出すためにいくつかの新しいメソッドで変更しようとしています。現在のところ、このコードは機能していません。これらのメソッドの戻り値をプログラムの後のメインに呼び出すための正しい方法について、いくつかの提案やいくつかの提案をいただければ幸いです。これらのメソッドの戻り値をプログラムの後半でメインに呼び出すようにします
import java.util.Scanner;
public class TextAnalyzer {
/*takes the user input and counts total characters to be called later.*/
public static int getNumOfCharacters(int textLength) {
Scanner scnr = new Scanner(System.in);
String usrText = "";
usrText = scnr.nextLine();
textLength = usrText.length();
return textLength;
}
/*removes all white space from string to be called later.*/
public static String outputWithoutWhitespace(String noWhiteSpace) {
Scanner scnr = new Scanner(System.in);
String usrText = "";
usrText = scnr.nextLine();
noWhiteSpace = usrText.replaceAll("\\s+","");
return noWhiteSpace;
}
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);
String usrText = "";
System.out.print("Enter a sentence or phrase: ");
usrText = scnr.nextLine();
System.out.println("You entered: " + usrText);
System.out.println();
System.out.print("Number of characters: ");
System.out.println(getNumofCharacters(usrText));
System.out.print("String with no whitespace: ");
System.out.println(outputWithoutWhitespace(usrText));
}
}
「scnr.nextLine();」を「scnr.next();」に変更する – ryekayo
ああ、このコードは機能しません。それはあなたの問題について私たちに教えてくれるものですか? – Tom
私はscnr.next()を最初に使用していました。 scnr.nextLine()とは対照的に;ユーザーの入力を遮断していました。次のエラーメッセージが表示されます。文章やフレーズを入力する:私たちが恐れなければならないのは、恐怖そのものだけです。 スレッド "main"の例外java.lang.RuntimeException:コンパイル不可能なソースコード - 誤ったツリータイプ: 入力したもの:私たちが恐れているのは、恐怖自体です。 \t at textanalyzer.TextAnalyzer.main(TextAnalyzer.java:48) 文字数:C:¥...¥Local¥NetBeans¥Cache¥8.1¥executor-snippets¥run.xml:53:Java戻り値:1 BUILD FAILED(合計時間:2秒) –
usmctoady