博客园第三次作业

1.

1) 写出问题所在

输入的号码必须按给定的“区号-电话号码-分机号”的格式输入,如果不按这个格式,比如没有用“-”间隔或者用其他符号间隔比如“,”,程序就会报错;如果只输入电话号码部分,不输入区号和分机号,程序也会报错。如果输入的是“一”而不是“-”,“一”会和电话号码一起输出。

2) 写出问题产生的原因

代码固定了输入格式,必须输入区号、电话号码、分机号,不能少一个,否则程序会储存错误的号码或者报错。

3)  给出修改后的代码

public class PhoneNum {

    public String getPhoneNumber(String strPhoneNum){

    String result = "";

        if((strPhoneNum==null) || "".equals(strPhoneNum)){

            return "";

        }

        if(strPhoneNum.length()==17){

        for(int i=0;i<17;i++){

        result = strPhoneNum.substring(5, 12);

        }

            return result;

        }

        else{

    return result = "输入错误";

        }

    }

}

2.

1) 写出代码,并符合代码规范(命名要规范,不可直接写在main方法中,需要有类注释、方法注释、以及适当的行注释)

package cn.wjw.select;

//选择排序

public class ArraySort {

public int[] arraySort (int[] arr){//创建ArraySort方法

for(int i=0;i<arr.length-1;i++){

 for (int j=i+1;j<arr.length; j++ ){//循环的对数组内的相邻的两个数进行比较

 if(arr[i]<arr[j]){ 

 int temp=arr[i];

 arr[i]=arr[j];

 arr[j]=temp;//从大到小进行选择排序

 }

 }

}

return arr;//返回排序后的数组

}

public static void main(String[] args){

int[] num = {4,8,16,9,46};

       ArraySort x = new ArraySort();

       int[] y=x.arraySort(num);

       for(int a = 0;a<y.length;a++){

           System.out.println(y[a]);

       }

}

}

2) 说明你的设计思路

第一个for循环定义一个i,i要小于数组长度,同时不能是最后一位;第二个循环定义一个j,j是i的后一位,j也要小于数组长度。将i和j进行比较,如果i要小于j,那么将j往前移一位,最后得出从大到小的选择排序。

3) 写出可能出错的情况(至少五种)

① {1,-1,1,-1,1.-1}

② {0,3,-50,0,64,999}

③ {0,0,0,0,0,0}

④ 数组为空

⑤ {1,2,3,4,5,6}

4) 编写JUnit单元测试,将前面给出的可能出错的测试数据放入单元测试进行测试

时间: 2024-10-14 10:14:38

博客园第三次作业的相关文章

博客园第5次作业

读<构建之法>有感 通过第一章,我大概了解我将要从这本书中学习什么,构建之法第一章告诉我们软件=程序+软件工程.程序=数据结构+算法.第一张告诉我们什么是软件,软件的功能目标.第二章向我们讲诉的单元测试,回归测试,效能分析工具.不过基本看不懂,很多都要百度才知道.第三章提到了软件工程师应该具备的几项知识,书本上提到基本条件有,1.要积累软件开发的相关知识,提高技术技能:2.要积累问题领悟的知识和经验:3.要对通用的软件设计思想和软件工程思想的理解:4.提高职业技能5.实际成果.我在软件工程师这

博客园第六次作业

缺陷编号:01.01.0001        发现人:ZYC     记录日期:2016.6.10 所属模块:用户注册              确认人:ZYC    确认日期:2016.6.10 当前状态:公开                    严重度:2          优先级:1 ———————————————————————————————— 问题概述: 在用户注册时不需要输入密码即可注册成功. ———————————————————————————————— 问题再现描述: 1.

编程的精义(第一章,因为博客园问题,邮箱作业上传博客园)

一个人立足于社会,都要有自己的想法和坚持.正如大道至简开篇中写的:在周爱民老师被别人说稿子太薄的时候,问他能不能加厚一点,或者写一些感悟的来源和案例,以及多写一些故事的背景时,他一直坚持自己的观点,不加厚——因为这是<大道至简>中“简”之涵义所在. 第一次读这本书的时候,我只是抱着试试看的心态来读的,但当我读完序言的时候,我的心态就已经发生了很大的变化,我有些后悔没有早点读这本书.整个文章引起了我极大的兴趣.第一章以著名的寓言故事<愚公移山>为开篇,十分有趣并且给人以印象深刻,最让

博客园客户端UAP开发随笔 -- 狡兔三窟:App内的三种通知消息的实现

使用应用时,总会有各种各样的交互,其中有些是需要和用户交互的,有些是仅仅告知用户某些信息的.对于前者,通常的解决方案都是弹出一个带有按钮(或其他控件)的对话框,上面有需要用户知晓的信息,以及需要用户通过按钮(或其他控件)做出的响应交互,这里就不再介绍.对于后者,那些不需要用户做出交互,仅仅是告知用户信息的,实现方式大家各有不同,本文将提出几种解决思路,抛砖引玉,希望通过交流,得到更好的人机交互解决方案. 1. 弹出窗口提示 这个方法比较简单粗暴,直接调用了系统的 MessageDialog 方法

潜移默化学会WPF--Command(命令)学习(三) - AYUI框架 - 博客园

原文:潜移默化学会WPF--Command(命令)学习(三) - AYUI框架 - 博客园 3.修炼 3.1 自定义命令 涉及到的一些概念,例如 InputGestureCollection这个集合,路由命令(RoutedUICommand)等我们不用太紧张,潜移默化学会他们的用法,Ok,学习吧 先看代码,先看后台 using System.Collections.Generic;using System.Text;using System.Windows;using System.Window

Android 博客园客户端 (三) 博客列表和内容显示

项目地址:https://github.com/ZhangTingkuo/AndroidCnblogs.git 经过很多天的努力,终于完成了博客界面的三个Fragment列表显示,分别是,首页.推荐.阅读排行.其实,距离上次,并没有增加更多的功能. 下一步,添加新闻界面的列表和内容显示.

课后作业(因博客源问题,发的邮箱作业,重新提交博客园)

1.编写一个程序,用户输入两个数,求出其加减乘除,并用消息框显示计算结果. 源代码://Yewen Wang   2015.10.04 package js; import javax.swing.JOptionPane; public class jis { public static void main(String[] args) { // TODO Auto-generated method stub String FirstNum,SecondNum;   //手动输入两个数 int 

Hadoop集群(第9期)_MapReduce初级案例 - 虾皮 - 博客园

body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI",Tahoma,Helvetica,Sans-Serif,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5;}

在Web微信应用中使用博客园RSS以及Quartz.NET实现博客文章内容的定期推送功能

本篇随笔介绍在Web微信应用中使用博客园RSS以及Quartz.NET实现博客文章内容的定期推送功能,首先对Quartz.NET进行一个简单的介绍和代码分析,掌握对作业调度的处理,然后对博客园RSS内容的处理如何获取,并结合微信消息的群发接口进行内容的发送,从而构建了一个在Web应用中利用作业调度来进行消息发送的业务模型. Quartz.NET是一个开源的作业调度框架,非常适合在平时的工作中,定时轮询数据库同步,定时邮件通知,定时处理数据等. Quartz.NET允许开发人员根据时间间隔(或天)