头歌:第1关:学习-Java常用类之Pattern和Matcher类

 

/**
 * 校验键盘输入的 QQ 号是否合格。
 */

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Test{
    public static void main(String[] args) {
        // 请在下面的Begin-End之间编写正确的代码
        /********** Begin **********/
        Scanner input = new Scanner(System.in);
        String str = input.next();
        Pattern pattern = Pattern.compile("^[1-9][0-9]+$");//'^'匹配字符串的开始,'$'匹配字符串的结束
        int l = str.length();
        Matcher m = pattern.matcher(str);
        boolean b = m.matches();//匹配
        if ((l >= 5 & l <= 15) & b){ //5-15位
            System.out.println("你输入的QQ号验证成功");
        }else {
            System.out.println("你输入的QQ号验证失败");
        }
        /********** End **********/
    }
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第1个上传组件commons-fileupload =============commons-fileupload ================ common-fileupload组件是apache的一个开源项目之一,可以从http://jakarta.apache.org/commons/fileupload/下载。该组件简单易用,可实现一次上传一个或多个文件,并可限制文件大小。 -下载后解压zip包,将commons-fileupload-1.1.1.jar,和commons-io-1.2.jar(这里我们用的是更新的版本,但是用法是一样的)复制到tomcat的webapps\你的webapp\WEB-INF\lib\下,如果目录不存在请自建目录。 新建一个servlet: FileUpload.java用于文件上传: package com.drp.util.servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.fileupload.*; import java.util.*; import java.util.regex.*; import java.io.*; import org.apache.commons.fileupload.servlet.*; import org.apache.commons.fileupload.disk.DiskFileItemFactory; public class FileUpload extends HttpServlet { private String uploadPath = ""; // 用于存放上传文件的目录 private File tempPath = new File("D:\\Tomcat 5.5\\webapps\\drp1.2\\tempimages\\"); // 用于存放临时文件的目录 public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { res.setContentType("text/html; charset=GB18030"); PrintWriter out = res.getWriter(); System.out.println(req.getContentLength()); System.out.println(req.getContentType()); DiskFileItemFactory factory = new DiskFileItemFactory(); // maximum size that will be stored in memory //允许设置内存中存储数据的门限,单位:字节 factory.setSizeThreshold(4096); // the location for saving data that is larger than getSizeThreshold() //如果文件大小大于SizeThreshold,则保存到临时目录 factory.setRepository(new File("D:\\Tomcat 5.5\\webapps\\drp1.2\\tempimages")); ServletFileUpload upload = new ServletFileUpload(factory); // maximum size before a FileUploadException will be thrown //最大上传文件,单位:字节 upload.setSizeMax(1000000); try { List fileItems = upload.parseRequest(req); // assume we know there are two files. The first file is a small //
AIC的学费很贵,半年18000元,大家看看他们教些什么内容吧他们学校的网址http://www.aicsws-sjtu.com/此内容是Java第1到第六章的PPT,希望大家喜欢如果大家觉得好我继续发课程定位“Java程序”课程覆盖SCJP认证所要求的知识点,是J2EE课程体系中的基础课程。本课程面向的学员应该具有基本的编程概念,能够编写简单的程序,并学习过操作系统,数据结构等计算机理论知识。课程选用最新的JDK5.0版本作为开发平台,教学的宗旨是:激发兴趣,理解知识,树立面向对象编程思维。  课程目标 认识Java平台,了解java application和applet的开发,激发学员对Java编程语言的兴趣。 学习和掌握Java变量,运算符,控制结构,数组,方法等基本语法。 培养和建立面向对象编程的思维方式,可以运用封装、继承和多态三大基本特性编写面向对象的程序。 理解和应用Java异常,常用,IO,集合和多线程等开发技术。 课时安排 总学时:52学时 授课:48学时 (含约20学时实验) 考试:4学时 预备知识 了解和使用操作系统,计算机的基本组成,简单的程序开发技术 参考教材 “Java 程序设计教程” 第5 版 清华大学出版社 “SCJP学习指南” 人民邮电出版社 “Java 编程思想” 第3版 机械工业出版社 教学内容和要求知识点 重要程度 使用频度 难度Java 入门 高 中 易变量和运算符 高 高 中控制结构 高 高 易数组 高 高 中方法 很高 高 中封装 很高 很高 难继承 很高 很高 难多态 很高 高 很难内部 高 中 难异常和断言 高 高 难常用 高 很高 中基本数据结构 高 很高 难集合 很高 很高 难IO和串行化 高 中 难知识点 重要程度 使用频度 难度第1章 Java入门 4课时 了解Java程序开发环境,理解JVM的运作机制。 初步认识面向对象编程,Java视一切为对象。 使用输入和输出语句编写简单的Java应用程序。 区分applet与application(浏览器和虚拟机上运行)。 编写简单的applet,并嵌入HTML文档,掌握其运行方法。 掌握编程规范,如命名,缩进,空格,空行等。 使用javac, java, appletviewer等命令编译和运行application和applet。第2章 面向过程(变量和控制结构) 4课时 掌握变量的内存概念,8种基本型,字面值和赋值。 正确使用各种Java运算符,如一元运算符,算术运算符,系运算符,逻辑运算符,条件运算符和赋值运算符等。 辨别使用if,if…else,switch选择结构执行不同的动作。 辨别使用while,for,do…while循环结构执行不同的动作。 使用程序控制语句break和continue。 使用基本型的包装器,理解装箱和拆箱。 [*]了解Java内存机制:栈、堆、常量池等,理解垃圾回收机制。第3章 面向过程(数组和方法) 4课时 理解如何声明数组、构造数组、初始化数组以及使用数组中的各个元素。 清楚数组作为对象处理,创建数组对象时指定数组大小。 能够声明和操作多维数组。 掌握定义方法(声明方法)和调用方法,通过参数和返回值传递数据。 理解实际参数与形式参数以及参数型的提升(隐式转型)。 掌握方法重载(overload)的基本要求。 区别和掌握按值传递与按引用传递。第4章 面向对象(封装) 4课时 理解封装属性(数据成员)和行为(方法成员),区别和对象。 能够定义,创建的对象(实例化)和通过对象引用访问数据成员和方法成员;形成定义和使用的两种不同的思维方式。 理解构造函数的作用(分配对象空间),理解和定义重载的构造函数。 明白this引用的两种用法。 弄清对象型与基本型的区别。 掌握private, public访问控制符。 理解和使用
好的,让我们开始第一关练习! ## 任务描述 本任务是练习Java字符串处理中常用的String方法,包括文件名与邮箱的验证。 请完成以下两个方法: 1. `public static boolean isValidFileName(String fileName)`:判断传入的文件名是否合法,合法返回`true`,否则返回`false`。文件名为非空字符串,不包含特殊字符`\/:*?"<>|`,且长度不超过100个字符。 2. `public static boolean isValidEmail(String email)`:判断传入的邮箱是否合法,合法返回`true`,否则返回`false`。邮箱为非空字符串,符合常规邮箱格式规则,即包含且仅包含一个`@`符号,且`@`符号前后均为非空字符串,且域名部分只包含字母、数字和`.`符号。 提示: 1. 使用正则表达式进行匹配。 2. 可以使用Java String中的`matches()`方法进行正则表达式匹配。 ## 测试用例 你可以使用以下测试用例来测试你的代码: ```java @Test public void testIsValidFileName() { assertTrue(StringUtils.isValidFileName("test.txt")); assertTrue(StringUtils.isValidFileName("dir/test.txt")); assertTrue(StringUtils.isValidFileName("dir\\test.txt")); assertFalse(StringUtils.isValidFileName("")); assertFalse(StringUtils.isValidFileName(null)); assertFalse(StringUtils.isValidFileName("test/")); assertFalse(StringUtils.isValidFileName("test\\")); assertFalse(StringUtils.isValidFileName(":test.txt")); assertFalse(StringUtils.isValidFileName("?test.txt")); assertFalse(StringUtils.isValidFileName("*test.txt")); assertFalse(StringUtils.isValidFileName("<test.txt")); assertFalse(StringUtils.isValidFileName(">test.txt")); assertFalse(StringUtils.isValidFileName("|test.txt")); assertFalse(StringUtils.isValidFileName("testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest.txt")); } @Test public void testIsValidEmail() { assertTrue(StringUtils.isValidEmail("[email protected]")); assertTrue(StringUtils.isValidEmail("[email protected]")); assertTrue(StringUtils.isValidEmail("[email protected]")); assertFalse(StringUtils.isValidEmail("")); assertFalse(StringUtils.isValidEmail(null)); assertFalse(StringUtils.isValidEmail("test@test")); assertFalse(StringUtils.isValidEmail("test@test.")); assertFalse(StringUtils.isValidEmail("test.com")); assertFalse(StringUtils.isValidEmail("test@com.")); assertFalse(StringUtils.isValidEmail("test@com")); assertFalse(StringUtils.isValidEmail("[email protected]")); assertFalse(StringUtils.isValidEmail("test@@test.com")); assertFalse(StringUtils.isValidEmail("[email protected]")); } ``` ## 参考实现 以下是参考实现,仅供参考。你可以使用任何一种编程语言来完成本任务,不一定需要与参考实现完全相同。 ```java public class StringUtils { public static boolean isValidFileName(String fileName) { if (fileName == null || fileName.length() == 0 || fileName.length() > 100) { return false; } String regex = "[^/\\\\:*?\"<>|]+"; return fileName.matches(regex); } public static boolean isValidEmail(String email) { if (email == null || email.length() == 0) { return false; } String regex = "\\w+@\\w+(\\.\\w+)*"; return email.matches(regex); } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值