Java printf和读取文本文件
我在让我的代码汇总一个文本文件的所有工资时遇到问题。它应该把所有这些加起来,给我一个平均工资。另外,我在使输出中的一行正确格式化时遇到问题。请帮忙,我对编程还是很陌生的!这是我的主要任务 导入java.util.*; 导入java.io.*; 公共类文件 { 公共静态无效字符串[]args { 字符串fName; 字符串名称; 串级; 双薪=0; 双新闻=0; 扫描仪填充=空; 员工[]emp=新员工[20]; int numEmployee=0; //打开文件 尝试 { infle=new Scannernew Fileemployee.txt; }捕获文件NotFounde异常 { System.err.printlnError:未找到employee.txt文件; } 而Infle.Hasnet { fName=infle.next; lName=infle.next; 秩=infle.next; newSal=infle.nextDouble; 工资+=新闻; emp【新员工】=新员工姓名、lName、职级、工资; numEmployee++; } System.out.printlnAcme公司\n; System.out.printfn员工人数:%5d,numEmployee; System.out.printf\n平均工资:%13.2f,工资/numememployee; System.out.printf\n年度总额%16.2f,工资; System.out.printf\n\n%-8s%15s%10s,姓名、职级、薪水\n; 对于int i=0;iJava printf和读取文本文件,java,printf,Java,Printf,我在让我的代码汇总一个文本文件的所有工资时遇到问题。它应该把所有这些加起来,给我一个平均工资。另外,我在使输出中的一行正确格式化时遇到问题。请帮忙,我对编程还是很陌生的!这是我的主要任务 导入java.util.*; 导入java.io.*; 公共类文件 { 公共静态无效字符串[]args { 字符串fName; 字符串名称; 串级; 双薪=0; 双新闻=0; 扫描仪填充=空; 员工[]emp=新员工[20]; int numEmployee=0; //打开文件 尝试 { infle=new S
平均工资和年总工资完全错误,总工资应该超过200万,平均工资应该在30万左右。谢谢 看起来您正在为每个新员工输入分配累计工资:
emp[numEmployee] = new Employee(fName, lName, rank, salary);
这不应该吗
emp[numEmployee] = new Employee(fName, lName, rank, newSal);
你读的文件看起来怎么样?扫描仪接下来会读取整行内容,可能不是您想要的内容文本文件看起来就像输出,只是没有格式化。姓名、职级和薪水之间只有空格。那么整个文件只有一行,数据之间用空格隔开?然后,您需要以字符串形式读取整个文件,并通过将其拆分为空格处的数组来访问部分:string[]parts=string.split;你能同时发布输入文件或其样本吗?不,文件中每行有一个名字、一个等级和一份薪水。非常感谢!!关于如何修改亨利·哈克贝利的格式有什么想法吗?不客气。也许您可以跟踪while循环中最长的名称,并将格式调整为该名称?比如int max_length;int length=fName.length+lName.length;如果长度>最大长度最大长度=长度;?或者,如果您确定名称不会超过一定数量的字符,您可以将固定宽度调大一点。此主题可能很有趣:。