编程算法基础-假设修正法

来源:互联网 发布:物流跟踪html源码 编辑:程序博客网 时间:2024/06/05 18:25

1.3假设修正法

衡量一个软件的质量的标准是什么?

正确性,运行效率,稳定性,可读性(逻辑清晰、简明,甚至有时可以牺牲效率)

求最大值

求a,b,c三个数中的最大值。

/*有a,b,c三个数字,求最大值。*/package AsumeCorrect; public class MaxNumber {    public static void main(String[] args) {       int a = 3;       int b = 10;       int c = 7;       int m = a;// 假设,擂主       if (b > m) {// 修改           m = b;       }       if (c > m) {// 修改           m = c;       }       System.out.println(m);    }}
10


判断闰年

求某一个年份是不是闰年。

/*判断是否是闰年*/package AsumeCorrect; public class RunYear {     public static void main(String[] args) {//     int year = 2000;//     boolean t = year % 4 == 0 && year % 100 != 0 || year % 400 == 0;//可读性太差//     System.out.println(t);             //假设修正法       int year =2000;       boolean t = false;//假设不是闰年       if(year%4==0){           t=true;       }       if(year%100==0){           t=false;       }       if(year%400==0){           t=true;       }       System.out.println(year+"是否闰年:"+t);    } }
2000是否闰年:true




“评级”算法

某小学要求不能给学生打具体分数,而是给一个评级。

当然,这个“评级”也是根据分数计算出来的。

规则:

设百分制的分数为 n

则根据 n 的范围:

90-100: 优秀

80-89: 良好

70-79: 正常

60-69: 合格

0-59: 加油

已经知道了分数 n,请计算“评级”

注意:不允许使用else语句,当然也不能使用 switch,因为题目的目的是训练假设修正法。

/*“评级”算法某小学要求不能给学生打具体分数,而是给一个评级。当然,这个“评级”也是根据分数计算出来的。规则:设百分制的分数为 n则根据 n 的范围:90-100:优秀80-89:良好70-79: 正常60-69: 合格0-59: 加油已经知道了分数 n,请计算“评级”注意:不允许使用else语句,当然也不能使用 switch,因为题目的目的是训练假设修正法。*/package AsumeCorrect; public class Range {    public static void main(String[] args) {       int grade = 85;       String ans ="优秀";       if(grade>=80&&grade<=89){           ans="良好";       }       if(grade>=70&&grade<=79){           ans="正常";       }       if(grade>=60&&grade<=69){           ans="合格";       }       if(grade>=0&&grade<=59){           ans="加油";       }       System.out.println("该学生评级为:"+ans);    }}
该学生评级为:良好


0 0
原创粉丝点击