源码+067(第二次)

1.测试帖链接:http://www.cnblogs.com/leezoey/p/6579928.html

2.测试人员提出的问题、发现的缺陷:

对于边值得界定,应该单独优化出一个函数,防止后面又对边值得界定做出改变。

3.修正后的代码清单:因为测试人员提出不足的地方后就修改好了代码,所以我就在此基础上根据评论的在if语句加了大括号。

  1 2
  2 3
  3 4
  4 5
  5 6
  6 7
  7 8
  8 9
  9 10
 10 11
 11 12
 12 13
 13 14
 14 15
 15 16
 16 17
 17 18
 18 19
 19 20
 20 21
 21 22
 22 23
 23 24
 24 25
 25 26
 26 27
 27 28
 28 29
 29 30
 30 31
 31 32
 32 33
 33 34
 34 35
 35 36
 36 37
 37 38
 38 39
 39 40
 40 41
 41 42
 42 43
 43 44
 44 45
 45 46
 46 47
 47 48
 48 49
 49 50
 50 51
 51 52
 52 53
 53 54
 54 55
 55 56
 56 57
 57 58
 58 59
 59 60
 60 61
 61 62
 62 63
 63 64
 64 65
 65 66
 66 import java.util.Scanner;
 67
 68 public class main2 {
 69     public static void main(String[] args) {
 70         // TODO Auto-generated method stub
 71         int a=0,b=0,c=0;
 72         //设计可判断十组边
 73         for(int i=0;i<10;i++)
 74         {
 75             System.out.println("请输入三角形的三条边(用逗号隔开):");
 76             //输入三角形三条边
 77             Scanner sr = new Scanner(System.in);
 78             String sc = sr.next();
 79             //以逗号隔开三条边
 80             String[] sourceStrArray = sc.split(",");
 81             if(sourceStrArray.length==3){
 82             //输入是否为纯整数判断
 83             try{
 84             a = Integer.parseInt(sourceStrArray[0]);
 85             b = Integer.parseInt(sourceStrArray[1]);
 86             c = Integer.parseInt(sourceStrArray[2]);
 87             }catch(Exception e){
 88                 System.out.println("输入错误!");
 89                 continue;
 90             } }
 91             else{
 92                 System.out.println("输入错误");
 93                 continue;}
 94             //调用方法
 95             String result = triangle(a, b, c);
 96             System.out.println(result);
 97
 98         }
 99     }
100
101     //判断三角形
102     public static String triangle(int a, int b,int c)
103     {
104        //值的范围
105         if(charge(a,b,c)){
106             return "边的值不在范围内";}
107         //能否构成三角形
108         else if(a>=b+c||b>=a+c||c>=a+b){
109             return "不构成三角形";}
110         else{
111             //等边三角形
112             if(a==b&&b==c){
113                 return "等边三角形";}
114             //等腰三角形
115             else if(a==b||b==c||a==c){
116                 return "等腰三角形";}
117             //直角三角形
118             else if(a*a==b*b+c*c||b*b==a*a+c*c||c*c==b*b+a*a){
119                return "直接三角形";}
120             //一般三角形
121             else{
122                return"一般三角形";}
123             }
124     }
125     public static boolean charge(int a, int b,int c){
126         if(a<1||a>100||b<1||b>100||c<1||c>100)
127             return false;
128         else
129             return true;
130     }
131 }

4.修正后心得体会:

    • 介绍自己代码做了怎样的变更:增加了三角形三条边的边界值限定的bool型函数
    • 分析出现缺陷的原因:通过,并没有找出缺陷,只有不足的地方
    • 对这部分教材内容的学习心得:对判定覆盖的定义和条件覆盖有点混乱,对画流程图深恶痛绝!if条件太多了,画的很乱。
时间: 2024-08-02 14:05:55

源码+067(第二次)的相关文章

Windbg符号与源码 《第二篇》

符号文件是一种辅助数据,它包含了对应用程序代码的一些标注信息,这些信息在调试过程中非常有用.如果没有辅助数据,那么能获得的信息就只有应用程序的二进制文件.二进制文件很难调试,因为无法看到代码中的函数名.数据结构名等.这正是符号文件能显示的.符号文件的扩展名通常是pdb,调试器能够很好地解析这种文件格式. 编译器和链接器在创建二进制镜像文件(诸如exe.dll.sys)时,伴生的后缀名为.dbg..sym或.pdb的包含镜像文件编译.链接过程中生成的符号信息的文件称为符号文件.具体来说,符号信息包

Flask源码阅读-第二篇(flask\__init__.py)

源码: # -*- coding: utf-8 -*-""" flask ~~~~~ A microframework based on Werkzeug. It's extensively documented and follows best practice patterns. :copyright: ? 2010 by the Pallets team. :license: BSD, see LICENSE for more details.""&

Coding源码学习第二部分(FunctionIntroManager.m)

接上篇.上篇有一个细节忘了写,在Coding_iOS-Info.plist 里面添加了一个key 是 Status bar is initially hidden  Value 是 YES,在application 启动的时候隐藏状态栏,然后在 1 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 2 { 3 ...... 4 /

STL源码分析--第二级空间配置器

本文讲解SGI STL空间配置器的第二级配置器. 相比第一级配置器,第二级配置器多了一些机制,避免小额区块造成内存的碎片.不仅仅是碎片的问题,配置时的额外负担也是一个大问题.因为区块越小,额外负担所占的比例就越大. 额外负担是指动态分配内存块的时候,位于其头部的额外信息,包括记录内存块大小的信息以及内存保护区(判断是否越界).要想了解详细信息,请参考MSVC或者其他malloc实现. SGI STL第二级配置器具体实现思想 如下: 如果要分配的区块大于128bytes,则移交给第一级配置器处理.

Apktool源码解析——第二篇

上一篇讲到ApkDecoder这个类,大部分调用到还是Androlib类,而且上次发现brutall的代码竟然不是最新的,遂去找iBotP.的代码了. 今天来看Androlib的代码: private final AndrolibResources mAndRes = new AndrolibResources(); protected final ResUnknownFiles mResUnknownFiles = new ResUnknownFiles(); public ApkOption

下载-深入浅出Netty源码剖析、Netty实战高性能分布式RPC、NIO+Netty5各种RPC架构实战演练三部曲视频教程

下载-深入浅出Netty源码剖析.Netty实战高性能分布式RPC.NIO+Netty5各种RPC架构实战演练三部曲视频教程 第一部分:入浅出Netty源码剖析 第二部分:Netty实战高性能分布式RPC 第三部分:NIO+Netty5各种RPC架构实战演练

[译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)

文章来自:http://www.aintnot.com/2016/02/15/understanding-phps-internal-array-implementation-ch 原文:https://nikic.github.io/2012/03/28/Understanding-PHPs-internal-array-implementation.html 欢迎来到"给PHP开发者的PHP源码"系列的第四部分,这一部分我们会谈论PHP数组在内部是如何表示和在代码库里使用的. 为了

Android异步消息处理机制(4)AsyncTask源码解析

上一章我们学习了抽象类AsyncTask的基本使用(地址:http://blog.csdn.net/wangyongge85/article/details/47988569),下面我将以问答的方法分析AsyncTask源码内容,源码版本为:API22. 1. 为什么必须在UI线程实例化我们的AsyncTask,并且必须在主线程中调用execute(Params... params)? 在分析为什么在UI线程调用之前,我们先看一下实例化AsyncTask并调用execute(Params...

Android源码50例汇总,欢迎各位下载(转载)

下载中心好资料很多,藏在各个角落,小弟在此帮大家做了一个整理,做了一个下载目录,方便大家选择性下载. 源码实例如下: <Android应用开发揭秘>源代码推荐 http://down.51cto.com/data/102497 Android Phone驱动 http://down.51cto.com/data/246537 安卓(android)编程入门开发教程笔记 http://down.51cto.com/data/172692 Android核心技术与实例详解[源代码]推荐 http: