A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

[Java] 纯文本查看 复制代码
/*
要求:
定义集合,存储多个员工(包含姓名、工资、职位),计算公司一个月所有员工工资的总支出。


*/
import java.util.ArrayList;
import java.util.Scanner;
public class Test_Company 
{
	public static void main(String[] args) 
	{
		//创建集合
		ArrayList<Employee> list = new ArrayList<Employee>();
		//输入参数
		input(list);
		print(list);
		//打印总支出
		System.out.println("公司一个月所有员工工资的总支出:"+sum(list)+"元。");
	}

	//定义方法存储员工属性
	public static void input(ArrayList<Employee> list){
		//创建Scanner类
		Scanner sc = new Scanner(System.in);
		while(true){ //为了释放变量emp
			//创建员工对象
			Employee emp = new Employee();
			//提示用户输入第一个员工信息
			System.out.println("录入第1个员工的信息:");
			//接收录入给分别属性赋值
			System.out.println("请输入姓名:");
			emp.name = sc.next();
			System.out.println("请输入工资/元:");
			emp.pay = sc.nextDouble();
			System.out.println("请输入职位:");
			emp.position = sc.next();
			//将员工添加到集合中
			list.add(emp);
			break;
		}
		int i =1;//定义变量i用于记录输入的是第几个
		abc:while (true)
		{
			//询问是否继续输入
			System.out.println("输入姓名继续,输入(N/n)停止:");
			
			
			String a = sc.next();
				
			//用switch判断输入内容
			switch (a)
			{
			case "N":
			case "n":
				break abc;
			default:
				i++;
				break;
			}
			
			//创建员工对象
			Employee emp = new Employee();
			//提示用户输入第i+1个员工信息
			System.out.println("录入第"+(i)+"个员工的信息:");
			//接收录入分别给属性赋值
			//System.out.println("请输入姓名:");
			emp.name = a;
			System.out.println("请输入工资:");
			emp.pay = sc.nextDouble();
			System.out.println("请输入职位:");
			emp.position = sc.next();
			list.add(emp);
			//将员工添加到集合中
			
		}
	}

	//定义计算公司一个月所有员工工资的总和
	public static double sum(ArrayList<Employee> list){
		//采用for循环求和
		double he = 0;
		for (int i=0; i<list.size(); i++)
		{
			he += list.get(i).pay;
		}
		return he;
	}
	//打印公司各员工信息
	public static void print(ArrayList<Employee> list){
		//for循环遍历
		System.out.println("姓名"+"       "+"工资/元"+"       "+"职位");
		for(int i=0;i<list.size();i++){
			Employee emp = list.get(i);
			System.out.print(emp.name + "         " + emp.pay + "         " + emp.position);	
			System.out.println();
		}

	}

	
}


[Java] 纯文本查看 复制代码
/*
	创建员工的类及其属性

*/
public class Employee 
{
	//姓名
	String name;
	//工资
	double pay;
	//职位
	String position;
}


显示效果:


1.png (17.19 KB, 下载次数: 16)

1

1

2.png (17.84 KB, 下载次数: 17)

2

2

1 个回复

倒序浏览
好复杂的样子
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马