【网易云课堂】Java语言程序设计进阶第一次作业总结

/*summary:这次作业提交的版本是由邓昌能指导的版本,刚开始自己没写出,主要有以下几个原因:
 * 1.刚开始的class Fraction后面加了一对括号(),以至于编译报错,但是好久都没有找到原因,
 *   影响的编程的心情,加上截止时间在即,慌了,
 *   下次在注意编程规范的同时,也要注意不要把所有事情任务都放在截止时间之前赶进度,
 *   这样既影响了心情,也影响了当天可能的进度安排,更要注意写代码要心平气和冷静
 * 2.因为这个函数方法没有用到,一直在纠结为什么要转成double
//    double toDouble()    
//    {
//        
//    }
    以后应当注意函数没用到就没用到,可以写在这里为了以后拓展,提交如果报错或者以后工作
    被打回来修改也可以到时候再加
  *3.因为对this没有理解透彻,总感觉这么赋值过去赋值过来不对劲,很混乱
  *4.面向对象的思想还没有转换过来,机械的认为对象都得这么new一下
     Fraction b = new Fraction(in.nextInt(),in.nextInt());
         因此,Fraction plus(Fraction r)中括号里面一直潜意识的认为Fraction是那个构造函数
        还一直纠结为什么只有一个参数,也没有想着参数还得要用括号

*/


import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		Fraction a = new Fraction(in.nextInt(),in.nextInt());
		Fraction b = new Fraction(in.nextInt(),in.nextInt());
		a.print();
		b.print();
		a.plus(b).print();
		a.multiply(b).plus(new Fraction(5,6)).print();
		a.print();
		b.print();
		in.close();
	}

}

class Fraction
{
//	int a,b;
	int up,down;
	double far;

//	构造一个a/b的分数。	
	Fraction(int up,int down)
	{
		this.up = up;
		this.down = down;
		gcd(up,down);
	}
	void gcd(int a,int b)
	{
		int divisor=1;
		while(b!=0)
		{
			int r = a % b;
			a = b;
			b = r;
		}
		divisor = a;
		up = up/divisor;
		down = down/divisor;
	}
//	将分数转换为double	
//	double toDouble()	
//	{
//		
//	}
//	将自己的分数和r的分数相加,产生一个新的Fraction的对象。
//	注意小学四年级学过两个分数如何相加的哈。    
	Fraction plus(Fraction r)	
	{
		int numerator = up*r.down + down*r.up;
		int denominator = down*r.down;
		return new Fraction(numerator, denominator);
	}
//	将自己的分数和r的分数相乘,产生一个新的Fraction的对象。
	Fraction multiply(Fraction r)
	{
		int numerator = up*r.up;
		int denominator = down*r.down;
		return new Fraction(numerator, denominator);
	}
//	将自己以“分子/分母”的形式输出到标准输出,并带有回车换行。
//	如果分数是1/1,应该输出1。
//	当分子大于分母时,不需要提出整数部分,即31/30是一个正确的输出。
//	注意,在创建和做完运算后应该化简分数为最简形式。如2/4应该被化简为1/2。   
	void print()
	{
		if( up==down )
		{
			System.out.println("1");
		}
		else
		{
			System.out.println(up+"/"+down);
		}
	}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
网易云课堂app是一款在线教育平台,用户可以通过该app学习各种课程,包括编程、音乐、语言等。下面我将简要介绍网易云课堂app的代码设计。 首先,该app采用了MVC(Model-View-Controller)软件设计模式,将程序分为三大部分:模型(Model)、视图(View)和控制器(Controller)。 在模型部分,我们需要设计数据模型,包括课程信息、用户信息和评论信息等。这些数据可以使用数据库进行存储,可以选择使用关系型数据库或者NoSQL数据库。通过与数据库的交互,我们可以实现对数据的增删改查操作。 在视图部分,我们需要设计用户界面,包括主页、课程列表、个人中心等。用户可以通过视图来浏览课程信息、选择感兴趣的课程,并进行支付、观看、提交作业等操作。 在控制器部分,我们需要处理用户的请求,并进行相应的逻辑处理。比如,当用户点击一个课程时,控制器会从模型获取相应的数据,并将数据传递给视图进行展示;当用户选择一个课程进行支付时,控制器会调用支付接口进行支付操作,并将支付结果返回给视图进行展示。 另外,为了提高用户体验,我们还可以加入一些功能,比如搜索功能,用户可以通过关键词搜索课程;还可以加入推荐算法,根据用户的学习记录、兴趣特点等,向用户推荐个性化的课程。 总之,网易云课堂app的代码设计需要考虑到数据模型的设计、用户界面的设计以及控制器的设计,并且要保证代码的可扩展性和可维护性,以便后续能够方便地添加新的功能和进行代码的维护更新。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值