`
张玉龙
  • 浏览: 747506 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

有bug的程序

 
阅读更多





	private int mStdId;

//leaf 0 是根  1是叶子
	private boolean[] aryNodeStatus = new boolean[100];
	private List<CourseIsBuy> ListBuyTree = new ArrayList<CourseIsBuy>();

	public void CreateCourseBuyRec(Course cs, boolean isBuy, boolean isRoot) {
		CourseIsBuy ss = new CourseIsBuy();


		ss.setCs(cs);
		ss.setIsBuyed(isBuy);
		ss.setIsRootCourse(isRoot);
System.out.println(ss.getCs().getCname()+"   isbuy:"+ss.isIsBuyed());
		ListBuyTree.add(ss);

	}

	public List<CourseIsBuy> findTreeForBuy(int stdId) {
		mStdId = stdId;
		ListBuyTree.clear();

		List<Course> list = (List<Course>) stdCourseDao.findStdCourseByPid(0);
		if(list==null) return ListBuyTree;
		for (Course course : list) {
			//不是叶子
			//0是叶子 1非叶子
			if (course.getLeaf().equals("1")) {
				
			

				boolean bIsBuy = stdCourseDao.findStdCourseByScId(stdId,
						course.getCid());

				
				CreateCourseBuyRec(course, bIsBuy, bIsBuy);

				aryNodeStatus[0] = true;
						
				this.treeBuy(course.getCid(), 0, aryNodeStatus, bIsBuy);
			} else {
				
			
				boolean bIsBuy = stdCourseDao.findStdCourseByScId(stdId,
						course.getCid());
				

				
				CreateCourseBuyRec(course, bIsBuy, false);
			}
		}
		
		
		return ListBuyTree;
	}

	/**
	 * function :找到整个树并找到已购的课程
	 * 
	 * @param:
	 */
	private void treeBuy(Integer cid, Integer level, boolean[] aryIsLastNode,
			boolean isBuyFlag) {
		int index = 0;
		
		List<Course> list = (List<Course>) stdCourseDao.findStdCourseByPid(cid);
		 if (list==null) return;  
			
		for (Course course : list) {
			
			String symbol = "";
			String symbolf = " ";
			index++;

			// 先画上级节点延续下来的"|"+空格,空格具体数目由层数决定
			
			for (int lev = 0; lev < level; lev++) {
				if (aryIsLastNode[lev] == false)
					symbolf += "│ ";
				else
					symbolf += "   ";
			}
			// 是否为最后一个节点
			if (index == list.size()) {
				symbol = "└";

			} else {
				symbol = "├";

			}
			String cname = symbolf + symbol + course.getCname();
			

			course.setCname(cname);
			
			boolean bIsBuy = false;
			if (course.getLeaf().equals("0")) {

				// 判断一下他的上级是否已经是被购买了
				//Course cs, boolean isBuy, boolean isRoot
				//isBuyFlag false
				if (!isBuyFlag) {	
					bIsBuy = stdCourseDao.findStdCourseByScId(mStdId,
							course.getCid());
					CreateCourseBuyRec(course, bIsBuy, bIsBuy);

					isBuyFlag = bIsBuy;
				}else{
					CreateCourseBuyRec(course, true, false);
				}
			} else {

				// 判断一下他的上级是否已经是被购买了
				//!isBuyFlag==true 上级没被购买      isBuyFlag==false上级被购买
				if (!isBuyFlag) {
					//不显示横线
					//这里上级没被购买
					bIsBuy = stdCourseDao.findStdCourseByScId(mStdId,
							course.getCid());
					
					CreateCourseBuyRec(course, bIsBuy, bIsBuy);
					isBuyFlag = bIsBuy;
					
				} else {
					//显示横线
					CreateCourseBuyRec(course, true, false);
				}
				course.setLevel(level + 1);
				if (index == list.size()) {
					aryIsLastNode[level] = true;
				} else {
					aryIsLastNode[level] = false;
				}
				treeBuy(course.getCid(), course.getLevel(), aryIsLastNode,
						isBuyFlag);
			}
		}

	}
	











分享到:
评论

相关推荐

    Go Bug调试程序

    值得注意的是,GoBug还支持远程调试,这对于分布式系统或云服务的调试非常有帮助。通过配置远程调试服务器,开发者可以在本地调试运行在远程机器上的Go服务。 总的来说,GoBug作为一款32位的Go语言调试工具,以其...

    浅析如何查找单片机程序BUG.pdf

    即使是有多年经验的单片机程序员,也很难一次通过测试就编写出完全无BUG的程序。 BUG的分类: 单片机程序BUG可分为两种类型,一种是显而易见的BUG,如保险管烧毁炸裂等;另一种是条件性BUG,即只有在特定条件下才会...

    3dmax2018子菜单bug修补程序

    此“3dmax2018子菜单bug修补程序”是针对该版本软件中出现的一个特定问题进行修复的更新。在3D Max的用户界面中,子菜单是其功能布局的重要组成部分,它允许用户方便地访问和操作各种工具和命令。然而,在3D Max ...

    Java白板程序(有Bug,真的有Bug!!!)

    这个名为"Java白板程序(有Bug,真的有Bug!!!)"的资源显然聚焦于一个包含错误的Java程序,可能是用于教学或实际项目中的一个白板应用。白板程序通常指的是用于画图、演示或教学目的的软件,而在这里,它显然存在...

    bug报告.zip程序开发文档软件开发文技术档下载

    bug报告.zip程序开发文档软件开发文技术档下载bug报告.zip程序开发文档软件开发文技术档下载bug报告.zip程序开发文档软件开发文技术档下载bug报告.zip程序开发文档软件开发文技术档下载 1.合个人学习技术做项目参考...

    小程序遇到的奇怪bug.txt

    原生小程序开发过程中遇到的奇怪bug以及解决方案

    微信小程序开发附源码:关于微信小程序bug记录与解决方法.doc

    在微信小程序开发过程中,开发者经常会遇到各种bug,这些bug可能在开发工具中表现良好,但在实际设备上却会出现意想不到的问题。以下是一些常见的微信小程序bug及其解决方案。 1. **textarea的padding问题**: ...

    详解小程序输入框闪烁及重影BUG解决方案

    本人所说的小程序,都是基于mpvue框架而上的,因此BUG可能是原生小程序的,也有可能是mpvue的。 问题描述 在小程序input组件中,如果使用v-model进行双向绑定,在输入时会出现光标闪烁的BUG。 原因 造成这个BUG的...

    测试思考之bug缺陷趋势曲线图

    感触还是有的,现对于某几个相关的问题写了一些个人的想法,这次说的是关于bug曲线图的问题,  我们大部分人都知道所有的测试执行完成后,都会有测试报告,而测试报告的一个最关键的因素就是bug曲线图,一般都会有2...

    bugfree,bug管理

    BugFree是一款开源的缺陷跟踪系统,专为程序代码的bug管理设计,旨在简化软件开发和测试过程中的问题追踪。在软件开发中,bug是不可避免的,BugFree提供了一个高效的平台来记录、跟踪、修复这些问题,确保项目的顺利...

    CHM_BUG.rar

    标题"CHM_BUG.rar"暗示这是一个修复CHM文件问题的程序,可能是作者为了帮助用户解决上述常见问题而创建的。通过这个压缩包,我们可以获取到作者提供的解决方案,即"CHM_BUG"程序,它旨在简化修复过程,使得非技术...

    如何减少程序中的bug.pdf

    ### 如何减少程序中的Bug 在软件开发过程中,减少程序中的Bug是提高软件质量和稳定性的重要环节。本文将根据“如何减少程序中的bug.pdf”的标题、描述及部分内容,深入探讨几种有效的减少Bug的方法。 #### 一、...

    Dephi 2007 系统编译程序关闭报错Bug修复

    Delphi2007 系统带有一个Bug,即程序编译后在退出时会报错。这个工具是修复那个bug,只需要执行后退出d2007重新打开即可修复!

    bug定义和返工率计算统计方法

    中级类 bug 是指较严重错误,如后台程序错误、程序接口错误等。低级类 bug 是指一般性错误,如操作界面错误、打印内容格式错误、简单的输入限制未放在前台进行控制等。 文档还对返工率计算统计方法进行了详细的描述...

    php程序bug提示函数

    主要用于测试php程序使用,直接my_debug($content)将其输出,会提示您测试代码行数,便于定位跟踪测试程序使用,希望对大家有用处

    BugBrain安装程序

    BugBrain (虫脑)是关于人工神经网络的策略类游戏,是关于虫子女士的养成类游戏;  游戏以已经获得广泛应用的的阶越激励函数神经元为基础,要求玩家构建神经网络,实现与环境的交互,使虫子拥有基本的生存技能; ...

    Win11任务栏搜索Bug修复程序升级版

    针对这些问题,开发人员已经推出了Win11任务栏搜索Bug修复程序的升级版。 这个升级版修复程序具有一个小巧的用户界面,使得用户可以更直观地进行问题排查和修复。与原版无界面的版本相比,新版本提供了更友好的交互...

    钮门快递系统的BUG测试程序EMMis_debug.exe

    作为EMMIS使用的用户,将这个BUG测试程序拷贝到EMMis目录,执行遇到程序bug或者错误的时候,将在[D:EMMIS]盘根目录写下日志文件。

    微信小程序跳坑指南,存在的bug及解决方案(自制PPt)

    微信小程序入门介绍(自制PPt)。本人已开发2款小程序,公司分享会,需要介绍小程序。固出此ppt介绍小程序入门,及自己遇到的坑,和一些小门路,存在的bug及解决方案。

    BUG跟踪流程

    bug跟踪流程,以图表的形式详细说明了如何发现BUG,回归BUG

Global site tag (gtag.js) - Google Analytics