だから私はJavaのかなりの初心者で、試験が近づいていて、一週間中練習しています。私の進歩はゆっくりですが、着実に進んでいます。私が行っている 1 つの演習では、配列計算の出力をtemperature.txt
コンソールに出力し、コンソール出力と同じフォーマットでファイルを作成する必要があります。
私はどちらか一方を行う方法を理解しましたが、両方を行うのに問題があります (遅くて着実な学習者を思い出してください)。覚えておくべきより簡単な初心者の方法はありますか?
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.DecimalFormat;
public class Temperature {
public static void main(String[] args) throws IOException{
double[] temps = {100, 98, 80.5, 90.2, 99.4, 89.1};
MaxMin(temps);
}
public static void MaxMin(double[]temps) throws IOException{
FileWriter fwriter = new FileWriter("Temperatures.txt", true);
PrintWriter outputfile = new PrintWriter(fwriter);
double min= Double.MAX_VALUE;
double max= Double.MIN_VALUE;
double sum = 0;
DecimalFormat formatter = new DecimalFormat("0.0");
for(int i = 0;i<temps.length;i++){
sum += temps[i];
if(temps[i] > max){
max = temps[i];
}
if(temps[i]< min){
min = temps[i];
}
}
double avg = sum / temps.length;
outputfile.println("Average Temp: " + formatter.format(avg));
outputfile.println("Maximum Temp: " + formatter.format(max));
outputfile.println("Minimum Temp: " + formatter.format(min));
outputfile.close();
}
}
上記の内容はテキストを出力しますが、コンソールには何も出力しません。
編集:両方の要件を満たすために、最後に 3 つの System.out.println ステートメントを追加するだけでよいでしょうか? このような:
System.out.println("Average Temp: " + formatter.format(avg));
System.out.println("Maximum Temp: " + formatter.format(max));
System.out.println("Minimum Temp: " + formatter.format(min));
outputfile.println("Average Temp: " + formatter.format(avg));
outputfile.println("Maximum Temp: " + formatter.format(max));
outputfile.println("Minimum Temp: " + formatter.format(min));
outputfile.close();