これを書く:
N = args[1].split("\\s+").length;
: のようなコマンドライン引数を使用すると、文字列配列を使用して文字列をecho "A B C D E F G H I" | java Subset 3
解析した場合と同様のメモリが消費されますか?"A B C D E F G H I"
.split()
私の課題は、(課題として) 学生 (私) が、N 文字列 (上記の N = 9、A から I) 入力から、K 文字列 (上記のコマンド行で K = 3) を一様にランダムに表示しようとすることができると述べています。 N ではなく K に比例するメモリを消費しながら、それが基本的にやろうとしていることです。
編集: mvpの答えは大いに役立ちます. 問題をよりよく理解するようになりました。
しかし、私はこれを使用することしか許可されていないことを追加する必要があると感じています:
private static Scanner scanner = new Scanner(new BufferedInputStream(System.in), charsetName);
Scanner
私は自分でクラスを使用することはできませBufferedReader
ん。この制限を考えると、どのように進めるかについては少しわかりません。