Java 流水线

步骤:

1)设计一个程序需要用到的几个类,分析这几个类之间的关系。

2)设计一个计算平均分并给出等级的程序,需要用到输入类(InputGrade)、计算平均分类(Averagegrade)、根据平均分评判等级类(Degree)、流水线类(Line)、输出平均分和等级类(Grage)。

3)设计Degree类,主要是编写一个方法degree(double average)。

4)设计Averagegrade类,编写构造函数和calculate(double[] a)方法,将结果传给Degree类的degree()方法。

5设计InputGrade类,编写构造函数和inputGrade()方法,将结果传给Averagegrade的calculate()方法。

6设计Line类,编写构造函数和编写giveDegree()方法。

7)设计Grade类,在主类中调用Line类的giveDegree()方法。

8)运行程序,检验输出结果的正确性。

 设计思路:设计一个计算平均分并给出等级的程序,需要用到输入类(InputGrade)、计算平均分类(Averagegrade)、根据平均分评判等级类(Degree)、流水线类(Line)、输出平均分和等级类(Grage)。设计Degree类,主要是编写一个方法degree(double average,方法中利用if... else if.. else...根据平均分判定等级。设计Averagegrade类,实例化一个Degree类的对象deg,编写构造函数,利用构造函数为之后的调用构造函数可以实例化对象做准备,编写calculate(double[] a)方法,就是算一个平均值,将结果通过deg对象调用传给Degree类的degree()方法。设计InputGrade类,实例化一个Averagegrade类的对象aver,编写构造函数,同样的也在构造函数中为之后传入Averagegrade的对象做准备,编写inputGrade()方法,在这个方法中通过Scanner实现屏幕的输入,将结果通过aver调用传给Averagegrade的calculate()方法。设计Line类,实例化以上三个类的对象,编写构造函数,在构造函数中调用以上三个类的构造函数进行传值,其实就是传入对象,编写giveDegree()方法,通过one对象调用InputGrade类的inputGrade()方法。设计Grade类,在主类中调用Line类的giveDegree()方法,实现整个程序的输出。

package shiyanbaogao2;

public class Averagegrade {
	Degree deg;
	Averagegrade(Degree deg)//构造函数,为了实例化Degree的一个对象
	{
		this.deg=deg;
	}
	public void calculate(double[] a)
	{
		double sum=0;
		for(int i=0;i<3;i++)//这里的目的是求和
		{
			sum=sum+a[i];
		}
		double average=sum/3;//求出平均分
		System.out.println("您的成绩平均分:"+average);//输出平均分
		deg.degree(average);//调用Degree类的degree方法,把平均分average传入函数
	}
}
package shiyanbaogao2;

public class Degree {
	public void degree(double average)
	{//这里就是根据平均分来对应到等级的操作,利用if else if else语句
		if(average<60)
		{
			System.out.println("您的成绩的等级为:不及格");
		}
		else if(average<80 && average>=60)
		{
			System.out.println("您的成绩的等级为:及格");
		}
		else if(average<90 && average>=80)
		{
			System.out.println("您的成绩的等级为:良好");
		}
		else
		{
			System.out.println("您的成绩的等级为:优秀");
		}
	}
}
package shiyanbaogao2;

public class Grade {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Line line=new Line();//实例化Line的一个对象
		line.giveDegree();//利用line调用Line类的函数
	}

}
package shiyanbaogao2;

import java.util.Scanner;

public class InputGrade {
	Averagegrade aver;
	InputGrade(Averagegrade aver)//构造函数,为了实例化Averagegrade的一个对象
	{
		this.aver=aver;
	}
	public void inputGrade() {
		System.out.println("请按照语文 数学 英语的顺序输入自己的成绩:");
		Scanner scan=new Scanner(System.in);
		double []a=new double[3];//将语文 数学 英语三科的成绩传入数组a
		for(int i=0;i<3;i++)
		{
			a[i]=scan.nextDouble();
		}
		aver.calculate(a);//调用Averagegrade的calculate()方法,将数组a传入函数
	}
}
package shiyanbaogao2;

public class Line {
	InputGrade one;//实例化InputGrade的一个对象
	Averagegrade two;//实例化Averagegrade的一个对象
	Degree three;//实例化Degree的一个对象
	Line(){
		three=new Degree();//调用Degree的构造方法
		two=new Averagegrade(three);//将three传入Averagegrade的构造方法
		one=new InputGrade(two);//将two传入InputGrade的构造方法
	}
	public void giveDegree() {
		one.inputGrade();//用InputGrade实例化的一个对象one调用InputGrade的函数
	}
}

结果:

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cwn_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值