文字列入力内のキャリッジ リターンの出現回数をカウントしようとしています。Scanner
と の両方を試しましBufferedReader
た。ではScanner
、nextLine()
キャリッジ リターンをピックアップしません。next()
withScanner
は入力内のスペースなどのトークンを探し、token は入力を分割します。入力全体を単一の入力として読み取りたい。これはおそらく、スキャナーを使用できないことを意味します。
ではBufferedReader
、readLine()
キャリッジ リターンまで読み取りますが、入力でキャリッジ リターンを返しません。「reader.read();」を使用する場合 次に、変数 user_input が int でなければならないことがわかります。user_input は、整数を持つことができる文字列入力であると想定されていますが、そうでない場合もあります。唯一のことは、入力に「/done」が含まれるまでプログラムが続行されることです。誰かが私を正しい方向に向けてくれれば幸いです!
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String user_input = "";
System.out.println("Enter a string: ");
while (!user_input.contains("/done")) {
user_input = reader.readLine(); //cannot be readLine because it only reads up to a carriage return; it does NOT return carriage return
//*Sadly, if I use "reader.read();" then it tells me that user_input HAS to be int. user_input is a string input
String input = user_input;
char[] c = input.toCharArray();
int[] f = new int[114];
System.out.println("Rest of program, I convert input to ascii decimal and report the occurences of each char that was used");
}
catch (IOException e) {
e.printStackTrace();
}
}