このゲームはFizzBuzzのように表示されていますが、異なる言葉が表示されています。結果をファイルに送信して同時に出力する方法
"Nardo"の結果を出力して(System.out.println
)、同時に呼び出されるとファイル化する必要があります。
私はFizzBuzzゲームの2つのクラスを作成し、もう1つはファイルにテキストを送信しました。これは正しく動作しますが、私はそれをどのように組み合わせるのか分かりませんFizzBuzzクラス。
私はFizzBuzzにOutputToFileクラスを呼び出しましたが、続行する方法はわかりません。
1)ファーストクラス
public class BaroSello {
private OutputToFile outputfile = new OutputToFile();
for(int i=1; i<input; i++){
if ((i % 3 == 0 && i % 5 == 0))
System.out.println("BaroSello");
else if (i % 3 == 0)
System.out.println("Baro");
else if (i % 5 == 0)
System.out.println("Sello");
else if (i%7==0)
// here I need the output to file and to terminal
System.out.println("Nardo");
else
System.out.println(i);
}
}
2)第二のクラス
public class OutputToFile {
public static void main(String[] args) {
try {
PrintStream myconsole = new PrintStream(new File("/Users/xxx/Desktop/output.txt"));
System.setOut(myconsole);
myconsole.println("hello");
} catch (FileNotFoundException fx) {
System.out.println(fx);
}
}
}
は、コンソールとにする書き込みのPrintStreamを拡張するクラスを書きますファイル。クラスのインスタンスでSystem.setOut()メソッドを使用します。 – NormR
'System.out'(と' System.err')を比較的簡単に別の 'PrintStream'にリダイレクトすることができます。あなたが言うように、あなたはそれを2つの異なる場所に送信したいときです - [この例では( https://stackoverflow.com/questions/12945537/how-to-set-output-stream-to-textarea/12945678#12945678)は基本的に、GUIへの出力を印刷することを意図していますが、基本的な考え方は同じです。私はまた、どのようにこれを行うだけですべてのロギングAPIを見てみることを検討するだろう – MadProgrammer