测试工程师笔试题之编程题——2018-06-13

最近面试某某公司测试工程师的时候遇到的一个编程笔试题,如下

请生成 test1@126.com 123456 到 test5000@126.com 123456 的5000个邮箱账号,换行展示并保存在test.txt文件中,可编程实现,也可使用其它方法,即:
test1@126.com 123456
test2@126.com 123456
......
test5000@126.com 123456

编程方面,我基本用的是Java和shell,那我这里就用java和shell两种方式实现
解法一:Java
思路:这个题用Java来写,可以说比较简单,题目的变动就只有1-5000这几个数字,另外就是实现换行和输出到test.txt文件中,就需要用到大概三点,变量、异常捕捉、输出流。变量主要实现1-5000,输出流实现输出字符到test.txt文件中,异常捕捉在这里作用就是捕捉输出流IO异常,变量、异常捕捉、IO都是自动化测试中经常需要用到的内容,代码如下

import java.io.*;

public class Email {
    public static void main(String args[])
    {
//        获取当前工作空间路径
        String dir = System.getProperty("user.dir");

//        设置test.txt文件路径
        String path = dir + "\\test.txt";
//        System.out.print(path);
        File file = new File(path);
        if (!file.exists()) {

//            try、catch实现异常捕捉
            try {
//                如果文件不存在,创建文件
                file.createNewFile();
//                FileOutputStream fileOutputStream = new FileOutputStream(file , true);
//                Writer writer = new OutputStreamWriter( fileOutputStream);
                FileWriter fileWriter = new FileWriter(path,true);

//                变量i实现1-5000
                for ( int i = 1 ; i <= 5000 ; i++ )
                {
//                    writer.write("test" + i + "@126.com 123456\n");

//                    把字符输出到test.txt文件末尾
                    fileWriter.append("test" + i + "@126.com 123456\n");
                }
//                writer.close();
//                fileOutputStream.close();

//                每次写文件结束,都要关闭输出流
                fileWriter.close();

            }
            catch (IOException e) {
                e.printStackTrace();
            }

        }

    }
}

解法二:shell
思路:换成是shell script实现就更简单了,代码缩减了一大半,主要就是用一个变量、表达式、while循环、和重定向输出到test.txt文件即可,代码如下

#!/bin/bash
#create 5000 email acounts from 'test1@126.com 123456' to 'test5000@126.com 123456'
i=1
while [ "$i" -le 5000 ]
do
echo "test$i@126.com 123456" >> test.txt
i=`expr $i + 1`
done

用shell实现短得不能再短了,我答题的时候,也是用的shell实现,shell对于一些简单的操作是很强大的,可谓杀人越货,必备良药啊
滑稽表情.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • .bat脚本基本命令语法 目录 批处理的常见命令(未列举的命令还比较多,请查阅帮助信息) 1、REM 和 :: 2...
    庆庆庆庆庆阅读 8,206评论 1 19
  • 瑶阶千寻,凤鸾翠幕, 清风难送蜀云君. 轻舟拥帆游,何处载伊归? 佳人肠香断西苑,怨容纤手弄落梅. 小酌清榼,奈何...
    盛唐遗风断空梦阅读 318评论 1 10
  • 大课间,同事告诉我她班来了个新同学,要我去看看。还说要我跟那孩子聊聊。 其他同学都出去做课间操了,教室里只有一个孩...
    流浪的小鼠阅读 217评论 0 0
  • 画到第十幅了比起第一幅自我感觉还是有些进步的!感谢简书,感谢各位绘画大咖们,每天看你们分享的教程学到了很多!
    伊人淡画阅读 253评论 0 0
  • 呼朋唤友,城西门外集合!进城看灯! 十字街头的电影院外 热闹鼎沸,但里面却无息无声。谁肯舍弃,明月镜当头,彩灯闪...
    efab227f5376阅读 414评论 6 39