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

16 篇文章 0 订阅

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值