本科课程【java程序设计】实验4 - 实用工具类编程练习

x33g5p2x  于2022-05-05 转载在 Java  
字(3.1k)|赞(0)|评价(0)|浏览(727)

大家好,我是【1+1=王】, 热爱java的计算机(人工智能)渣硕研究生在读。
如果你也对java、人工智能等技术感兴趣,欢迎关注,抱团交流进大厂!!!
Good better best, never let it rest, until good is better, and better best.

近期会把自己本科阶段的一些课程设计、实验报告等分享出来,供大家参考,希望对大家有帮助。

博客更新至专栏【课程设计实验报告】:https://blog.csdn.net/weixin_43598687/category_11640051.html

一、 实验目的

1、 掌握Scanner类的用法;
2、 掌握字符串类的常用方法;
3、 掌握main方法参数的使用。

二、 实验内容

1. 实验任务

现有职工类Employee,其代码如下:

class Employee{  
   	String name;  
   	int number;  
   	int age;
    int salary; 
    
    public Employee(String name,int number,int age,int salary){  
   	 this.name=name;  
   	 this.number=number;  
   	 this.age=age;  
   	 this.salary=salary;  
   }
}

其中的四个变量分别表明职工的姓名、编号、年龄、薪水。要求编写类EmployeeTest,在类中使用数组存储若干职工的信息,并有方法分别计算职工年龄、薪水的最大值、最小值和平均值。
程序运行时在命令行中输入两个参数,根据参数返回职工年龄或薪水的信息。
第一个参数若是age表明计算年龄信息,若是salary表明计算薪水信息。
第二个参数若是avg表明计算平均值,若是min表明计算最小值,若是max表明计算最大值。 例如,
若输入以下信息,则表明求职工年龄的平均值: java Employee age avg
若输入以下信息,则表明求职工薪水的最大值: java Employee salary max
其他输入都显示输入错误。

2. 程序设计

import java.util.Scanner;

public class three {

	public static void main(String[] args) {
		
		Scanner scanner = new Scanner(System.in) ;
		String str1 = scanner.nextLine();
		String str2 = scanner.nextLine();
		
		Employee e1 = new Employee("zhang", 1, 18, 2000);
		Employee e2 = new Employee("wang", 2, 19, 3000);
		Employee e3 = new Employee("li", 3, 20, 4000);
		Employee e4 = new Employee("jack", 4, 24, 5000);
		Employee e5 = new Employee("zhao", 5, 15, 6000);
		
		Employee[] emp = {e1,e2,e3,e4,e5};
		
		EmployeeTest employeeTest = new EmployeeTest(emp);
		
		if(str2.equals("avg")) {
			employeeTest.average(str1);
		}else if(str2.equals("max")) {
			employeeTest.max(str1);
		}else if(str2.equals("min")) {
			employeeTest.min(str1);
		}else {
			System.out.println("输入错误");
		}
	}
}

class Employee{
	String name;
	int number;
	int age;
	int salary;
	
	public Employee(String name, int number, int age, int salary) {
		super();
		this.name = name;
		this.number = number;
		this.age = age;
		this.salary = salary;
	}
}

class EmployeeTest{
	Employee emp[];
	public EmployeeTest(Employee emp[]) {
		this.emp=emp;
	}
	
	public void average(String str1) {
		int size = this.emp.length;
		int sum=0;
		double average =0;
		if(str1.equals("age")) {
			for(int i=0;i<size;i++) {
				sum+=this.emp[i].age;
			}
			average = sum/size;
			System.out.println("年龄平均为:" + average);
		}else if(str1.equals("salary")) {
			for(int i=0;i<size;i++) {
				sum+=this.emp[i].salary;
			}
			average=sum/size;
			System.out.println("薪水平均为:" + average);
		}
		
	}
	
	public void max(String str1) {
		int size = this.emp.length;
		int sum=0;
		int max =0;
		if(str1.equals("age")) {
			for(int i=0;i<size;i++) {
				if(max<this.emp[i].age) {
					max=this.emp[i].age;
				}
			}
			System.out.println("年龄最大为:" + max);
		}else if(str1.equals("salary")) {
			for(int i=0;i<size;i++) {
				if(max<this.emp[i].salary) {
					max=this.emp[i].salary;
				}
			}
			System.out.println("薪水最大为:" + max);
		}
	}
	
	public void min(String str1) {
		int size = this.emp.length;
		int sum=0;
		int min =10000;
		if(str1.equals("age")) {
			for(int i=0;i<size;i++) {
				if(min>this.emp[i].age) {
					min=this.emp[i].age;
				}
			}
			System.out.println("年龄最小为:" + min);
		}else if(str1.equals("salary")) {
			for(int i=0;i<size;i++) {
				if(min>this.emp[i].salary) {
					min=this.emp[i].salary;
				}
			}
			System.out.println("薪水最小为:" + min);
		}else {
			System.out.println("输入错误");
		}
	}
}

3. 实验结果

三、 实验环境

  1. 操作系统:WINDOWS 10
  2. 开发工具:VC++ 2013
  3. 实验设备:PC
    博客更新至专栏【课程设计实验报告】:https://blog.csdn.net/weixin_43598687/category_11640051.html

相关文章