从文本文件中读取输入并打印工资和员工姓名

时间:2014-11-30 12:40:09

标签: java javascript

我需要阅读用户的输入工资,然后打印员工的姓名和姓氏  (姓氏必须是大写字母),使用文本文件中的数字格式对象,工资超过指定值。 如果输入的工资小于100,则打印消息''工资必须大于100“,如果它大于文件中的工资,则打印消息”没有员工有这个工资。“

文本文件名是employee.text包含员工姓氏和姓氏,City,  部门,工资和日期

Carl Johnson Paris Production 900 20/07/2000

Wiley Cyrus伊斯坦布尔采购800 21/05/2005

哈利波特伦敦会计780 30/05/2001

Bruce Wayne Gotham质量450 05/08/2007

这是我的代码到目前为止我没有得到输出?

Scanner scanFile = new Scanner(new File("Employee.txt"));

NumberFormat fmt = NumberFormat.getCurrencyInstance(Locale.US);

Scanner scan = new Scanner(System.in);

System.out.println("Enter salary: ");
int salary = scan.nextInt();
if(salary < 100)
	System.out.println("The salary must be bigger than 100");
else 
	if(salary > 900)
{
						
	System.out.println("There is no employee has this salary.");
						
}
			
while(scanFile.hasNextInt())
{
	int sal = scanFile.nextInt();
	String code = scanFile.next();
	if(sal >= salary)
	    System.out.println(code + fmt.format(sal));
			
			
}			

1 个答案:

答案 0 :(得分:0)

在您必须检查hasNextline()而不是hasNextInt()时:

while (scanFile.hasNextLine()) {

在你的int sal = scanFile.nextInt();你会在行中找到int - 在这个例子中你可以这样做:

String nextLine = scanFile.nextLine();
int sal = Integer.parseInt(nextLine.substring(nextLine.lastIndexOf(" ")-3, nextLine.lastIndexOf(" ")));

但是你必须进行实验,所以它适用于所有情况。