ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

第一次编程作业

2019-09-17 13:00:48  阅读:294  来源: 互联网

标签:String indexOf 30min 编程 作业 第一次 substring null data


1、Github项目地址:https://github.com/WQH1999/031702437
2、PSP表格

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 15min 15min
Estimate 估计这个任务需要多少时间 15min 15min
Development 开发 15min 10min
Analysis 需求分析 (包括学习新技术) 8h 3d
Design Spec 生成设计文档 15min 15min
Design Review 设计复审 5min 5min
Coding Standard 代码规范 (为目前的开发制定合适的规范) 20min 10min
Design 具体设计 1h 30min
Coding 具体编码 4h 3h30min
Code Review 代码复审 30min 10min
Test 测试(自我测试,修改代码,提交修改) 1h 2h
Reporting 报告 30min 30min
Test Repor 测试报告 1h 30min
Size Measurement 计算工作量 10min 10min
Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 30min 30min
合计 18h20min 3d9h

3、解题思路:作业要求是将被打乱的文件按要求重新梳理。一共有电话号码、姓名、个人地址三部分,这可以成为三个独立的函数来实现。
4、设计实现过程:代码有一个类homework1,类中有getphone、getname、getaddress三个私有类分别对应获得电话号码、名字、地址三个功能,还有getdata、dealdata、outputdata三个公有类供外部调用以实现输入、处理、输出三个功能。
5、改进花费了一个多小时。一开始是将处理电话、名字、地址都混在一起,后来才将这三个功能拆分开。
6、代码说明:
...


static class homework1 {            //创建一个地址
    private String data=null;       //原始输入数据
            String name=null;       //名字
            String phone=null;      //手机号
            String province=null;   //省或直辖市
            String city=null;       //市或直辖市
            String county="";     //县或区或县级市
            String town="";       //街道或镇或乡
            String address=null;       //详细地址
    private void getphone()         //私有类,用于找手机号
    {
        int i,j,k,d=0;
        String s=data;
        String s1=null;
        while (phone==null)
        {
            i=s.indexOf("1");
            d=d+i;
            k=0;
            for (j=i+1;j<11;j++)
            {
                if (s.charAt(j)<48||s.charAt(j)>57)
                {
                    k=1;
                    break;
                }
            }
            if (k==0)
            {
                phone=s.substring(i,i+11);
                s=data.substring(0,d);
                s1=data.substring(d+11);
                data=s.concat(s1);
            }
            else
            {
                s=s.substring(i+1);
                d++;
            }
        }
    }
    private void getname()                  //私有类,用于查找名字
    {
        int i;
        String s=data;
        i=s.indexOf(",");
        name=data.substring(0,i);
        data=s.substring(i+1);
    }
    private void getaddress()
    {
        String s=data;
        int i,j=-1;
        i=data.indexOf("省");
        if (i!=-1)
        {
            province=data.substring(0,i+1);
            data=s.substring(i+1);
            s=data;
        }
        i=data.indexOf("市");
        city=data.substring(0,i+1);
        data=s.substring(i+1);
        s=data;
        if ((i=data.indexOf("县"))!=-1||(i=data.indexOf("区"))!=-1||(i=data.indexOf("市"))!=-1)
        {
            county=data.substring(0,i+1);
            data=s.substring(i+1);
            s=data;
        }
        if ((i=data.indexOf("镇"))!=-1||(i=data.indexOf("乡"))!=-1||(j=data.indexOf("街道"))!=-1)
        {
            if (j!=-1)
            {
                i=j+1;
            }
            town=data.substring(0,i+1);
            data=s.substring(i+1);
            s=data;
        }
        address=data;
        if (province==null)
        {
            j=city.length();
            province=city.substring(0,j-1);
        }
    }
    public void getdata ()throws IOException      //提供输入方法
    {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String str = null;
        System.out.println("Please Enter:");
        str = br.readLine();
        data=str;
    }
    public void dealdata()            //提供处理数据方法(这是作业中要求1)
    {
        getphone();
        getname();
        getaddress();
    }
    public void outputdata()         //提供输出的方法
    {
        System.out.println("{“姓名”“"+name+"”“手机”“"+phone+"”“地址”[“"+province+"”“"+city+"”“"+county);
        System.out.println("”“"+town+"”“"+address+"”]}");
    }
}

...
心路历程与收获:这些需要使用的工具在之前我都没有用过。原本打算使用c++来写,然而vs2017下载不下来,只好换成java。而java自己又不熟悉,这才导致学习的时间大大超过原本所预料的时间。因此我觉得自己要对于所需要用到的如github等工具要更加熟练,才能更好地做好任务。

标签:String,indexOf,30min,编程,作业,第一次,substring,null,data
来源: https://www.cnblogs.com/wqh1999/p/11518732.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有