这是我的主要方法
static void Main()
{
int id, age, exp;
double avgAge, avgExp, ageSum = 0, expSum = 0, empSum = 0;
char type;
double total = 0;
OpenFiles();
PrintReportHeadings();
while ((lineIn = fileIn.ReadLine()) != null)
{
empSum++;
ParseLineIn(out id, out type, out age, out exp);
UpdateTotals(ref ageSum, ref expSum, age, exp);
string eligibility = GetEligibility(type, age, exp);
PrintDetailLine(id, type, age, exp, eligibility);
}
avgAge = CalcAvg(ageSum, empSum, out total);
avgExp = CalcAvg(expSum, empSum, out total);
PrintAvg(avgAge, avgExp);
CloseFiles();
}
这是我的PrintAvg方法:
static void PrintAvg(double avgAge, double avgExp)
{
fileOut.Write("\nAvg\t {0:f1} {1:f1}", avgAge, avgExp);
}
我在VisualStudio中的输出文件
Employee Report
ID Age Exp Eligibility
---- --- --- -----------
1235 45 20 lack of exp age
2536 55 21 lack of exp age
5894 60 30 lack age
4597 75 35 can retire
2597 35 10 lack of exp age
5689 40 20 lack of exp age
5489 55 39 lack age
5872 60 40 can retire
5569 55 25 can retire
5566 80 20 lack of exp
8865 59 35 can retire
5598 65 35 can retire
然后我的输出文件再次出现在记事本中......
Employee Report
ID Age Exp Eligibility
---- --- --- -----------
1235 45 20 lack of exp age
2536 55 21 lack of exp age
5894 60 30 lack age
4597 75 35 can retire
2597 35 10 lack of exp age
5689 40 20 lack of exp age
5489 55 39 lack age
5872 60 40 can retire
5569 55 25 can retire
5566 80 20 lack of exp
8865 59 35 can retire
5598 65 35 can retire
Avg 57.0 27.5
记事本显示平均值,当我编辑PrintAvg方法尝试获得换行符以降低平均值下限时,它没有任何效果。我该如何解决这个问题?
答案 0 :(得分:1)
Windows使用\ r \ n作为换行符。所以也许你应该尝试编写 \ r \ n 来获得所需数量的换行符。
static void PrintAvg(double avgAge, double avgExp)
{
fileOut.Write("\r\nAvg\t {0:f1} {1:f1}", avgAge, avgExp);
}