`

编程算法基础_常用思路_2_假设修正

 
阅读更多

 

前提:

代码的清晰、可读,往往比算法的高效更为重要。
故而程序设计应力求:逻辑简明,容易理解。

假设修正法:保持每个语句的简洁、短小,通过反复修正达到最终正确逻辑,是提高可读性的重要技巧之一。
 
 案例:
public class Max {

	
	public static void main(String[] args) {

		//max();
		//leapyear();
		graderate();
	}
	
	
	/**
	 * 判断闰年
	 */
	public static void leapyear(){
		int year = 2014;
		boolean flag = false; // 一般年份是闰年的概率很少,因此默认为FALSE
		
		if(year%4 == 0) flag = true;
		if(year%100 == 0) flag = false;
		if(year%400 == 0) flag = true;
		
		System.out.println(flag);
	}
	
	/**
	 * 求最大值
	 */
	public static void  max(){
		int a = 5;
		int b = 10;
		int c = 3;
		
		// 假设a就是最大值, 好处: 代码清晰 逻辑清晰
		int max = a;
		if (max < b)  max = b;
		if (max < c)  max = c;
		
		System.out.println(max);
	}
	
	
	/**
	 * 评分
	 */
	public static void  graderate(){
		
		String result = "";
		int num = 34;
		
		if(0 < num &&  num < 59)  result = "加油";
		if(60 < num &&  num < 69)  result = "合格";
		if(70 < num &&  num < 79)  result = "正常";
		if(80 < num &&  num < 89)  result = "良好";
		if(90 < num &&  num < 100)  result = "优秀";
		
		System.out.println(result);
	}
	
	

}
 
分享到:
评论

相关推荐

    SIMPLE—nonstruction_CFD_Fortran_simple算法_simple_simple算法_

    **Fortran实现**:SIMPLE算法通常用编程语言实现,Fortran作为科学计算领域常用的语言之一,因其高效的数组操作和向量化特性,非常适合处理这类问题。在Fortran中,需要定义数据结构来存储网格信息、速度、压力等,...

    求解大规模非线性单调方程组的修正HS投影算法

    为了更加高效求解大规模非线性单调方程组,克服其他算法存在的如算法复杂、编程难、储存量大等不足,在传统三项HS算法基础上,设计了一个新的搜索方向,并采用投影技术和新型线搜索构建了修正HS投影算法。该算法不依赖...

    FORTRAN常用算法程序集·第二版 徐士良

    2. 线性代数算法:线性代数是科学计算的基础,FORTRAN常用算法程序集中会包含用于矩阵运算的子程序,如矩阵求逆、特征值和特征向量的计算等。这些算法对于解线性方程组、系统稳定性分析等都是必要的。 3. 方程求解...

    Untitled2_牛顿拉夫逊算法_

    MATLAB因其强大的数值计算能力,常被用于此类算法的编程实现。代码可能包括定义网络模型、构建Jacobian矩阵、计算残差、更新解以及判断收敛性的函数。 牛顿拉夫逊算法的优势在于其快速的收敛速度,尤其是在大型电力...

    《机器学习》第2章中find-s标准算法

    1. **假设与检验**:算法从最简单的假设开始,即选择一个单一的属性测试,然后通过检查该测试是否能正确划分训练集中的所有实例,来不断修正和改进这个假设。 2. **概念描述**:find-s算法生成的概念描述是一个布尔...

    修正剑桥模型的源程序(FORTRAN编写).rar_fortran 模型_修正剑桥_修正剑桥模型_剑桥_剑桥模型

    《修正剑桥模型的源程序(FORTRAN编写)》是一个基于FORTRAN编程语言实现的经济学模型,主要用于模拟和分析经济体系的行为。这个模型是对于原始剑桥模型的改进版本,旨在提供更为精确和全面的经济预测。在FORTRAN...

    一维小车卡尔曼滤波算法_car_graphgfi_matlab_kalman_

    “matlab”是实现卡尔曼滤波算法的编程语言,MATLAB是一款强大的数值计算和可视化软件,非常适合进行此类数学运算和数据分析。在这个项目中,我们可以通过编写MATLAB代码来实现一维小车的卡尔曼滤波算法,并可视化其...

    数值分析平方根算法编程

    本主题将深入探讨平方根法及其改进方法,帮助你理解并掌握如何在编程中实现这些算法。 平方根法的基础是牛顿迭代法,这是一种寻找函数零点的迭代过程。对于求解正定系数矩阵的方程组,平方根法的核心思想是通过迭代...

    算法导论(part2)

    因此,我们不考虑出错处理和其他需要对读者所用编程环境有特定假设的软件工程问题。我们力求简单而直接地给出每一个算法,而不会让某种特定程序设计语言的特殊性掩盖算法的本质内容。 致我们的同事 .我们在本书中...

    DDA算法画线 C语言 计算机图形学

    DDA算法虽有其局限性,但其背后的数学原理和编程技巧对初学者而言具有极高的学习价值。希望通过对DDA算法的学习,读者能够对计算机图形学有更深刻的理解,并在此基础上探索更多高级的图形处理技术。

    卡尔曼滤波简介及其算法实现代码(C++_C_MATLAB)

    ### 卡尔曼滤波简介及其算法实现 #### 一、卡尔曼滤波器概述 卡尔曼滤波(Kalman Filter)是一种广泛应用于信号处理、控制系统等领域的算法,主要用于估计系统的状态,即使是在存在噪声的情况下也能提供精确的估计。...

    基于MATLAB的指纹定位算法 NN KNN WKNN

    2. **K近邻算法(KNN,K-Nearest Neighbors)** KNN是NN的扩展,它不仅考虑最近的一个邻居,而是选取K个最接近的邻居,然后通过多数投票或平均距离来决定最终的位置。K的选择对定位精度有直接影响,较小的K可能导致...

    changdop.zip_TOA_TOA误差matlab_闪电定位_闪电定位算法

    标题中的"changdop.zip_TOA_TOA误差matlab_闪电定位_闪电定位算法"指出,这个压缩包包含了一个基于MATLAB实现的TOA...用户需要具备一定的MATLAB编程基础和无线通信知识,才能充分利用这些资源进行数据分析和定位计算。

    算法导论(part1)

    因此,我们不考虑出错处理和其他需要对读者所用编程环境有特定假设的软件工程问题。我们力求简单而直接地给出每一个算法,而不会让某种特定程序设计语言的特殊性掩盖算法的本质内容。 致我们的同事 .我们在本书中...

    perf_plas_J2_perfectplasticity_理想弹塑性_塑性_塑性力学_弹塑性matlab_源码.rar

    本篇将详细解析标题“perf_plas_J2_perfectplasticity_理想弹塑性_塑性_塑性力学_弹塑性matlab_源码.rar”中涉及的知识点,并对其中的核心代码“perf_plas_J2.m”进行解读。 首先,我们来理解理想弹塑性模型。理想...

    二维ostu代码.rar_controlAC9_detail1fx_frighten1qq_二维ostu_二维ostu算法的程序

    因此,这个压缩包中的代码应该是对维基百科版本的修正和优化,以更准确地实现二维Ostu算法。 二维Ostu算法的实现通常包括以下步骤: 1. **数据统计**:首先,对图像的像素值进行统计,形成直方图。在二维情况下,...

    最小值算法

    综上所述,最小值算法的知识点包括:算法定义和用途、实现逻辑以及C语言中的具体编程方法。在实际应用中,需要注意算法的效率和准确性,正确使用循环和条件语句,合理地使用数组或其它数据结构来存储和处理数据。...

    经典卡尔曼算法matlab实现代码.zip

    2. **更新阶段**:结合预测状态和实际观测,通过观测模型进行修正。观测模型通常写为: \[ z_k = H_k x_k + v_k \] 其中,\(z_k\) 是第 \(k\) 时刻的观测值,\(H_k\) 是观测矩阵,\(v_k\) 是观测噪声,同样假设为...

    基于MATLAB的DEM粗差探测算法比较分析.pdf

    本文选取了六种常用算法进行比较分析,它们分别是Felicisimo加权平均算法、Felicisimo十字交叉算法、基于趋势面和三维可视化的粗差探测算法、基于坡度信息的粗差探测算法、基于点方式的粗差探测方法和抗差移动三次...

    TOA/AOA定位算法C语言代码

    然而,实际应用中,由于多径传播、时钟漂移等因素,很难准确测量到信号到达时间,因此需要特定的信号处理技术和算法来修正这些误差。 AOA定位算法则利用天线阵列或相位信息来获取信号入射角度。接收器通常配备多个...

Global site tag (gtag.js) - Google Analytics