熟悉String方法的使用之判断文件名是否合法

学习之余,写个小练习来巩固一下String的方法应用。

任务:

1、判断用户选择要输入的内容的类型

2、如果是java文件,输出“您输入的是java文件名”

3、如果是邮箱地址,输出“您输入的是邮箱地址”

4、如果都不是,输出“无法解析您输入的内容”

代码如下:

     public static void main(String[] args) {
Scanner in = new Scanner(System.in);
boolean flag = true;
do {
System.out.println("请您要判断的内容:");
String name = in.next(); switch (Jude(name)) {
case 1:
System.out.println("您输入的是java文件名");
flag = false;
break;
case 2:
System.out.println("您输入的是邮箱地址");
flag = false;
break;
case -1:
System.out.println("无法解析您输入的内容,请重新输入!");
break;
}
} while (flag);
in.close();
} /*
* 判断格式
*/
private static int Jude(String Name) { int count1 = 0;// 字符串中包含.的个数
int count2 = 0;// 字符串中包含@的个数 for (int i = 0; i < Name.length(); i++) {// 统计个数
if (Name.charAt(i) == '.') {
count1++;
}
if (Name.charAt(i) == '@') {
count2++;
}
}
if (count1 == 1 && count2 == 1) {
// 获取邮箱中"@"符号的位置
int index2 = Name.indexOf('@');
// 获取邮箱中"."号的位置
int index3 = Name.indexOf('.');
if (index2>0 && index3-index2> 1&&index3!=Name.length()-1) {// 判断必须包含"@"符号,且"@"必须在"."之前 return 2;
}
}
if (count1 > 0) {
// 获取文件名中最后一次出现"."号的位置
int index = Name.lastIndexOf('.');
// 获取文件的后缀
String prefix = Name.substring(index); // 判断必须包含"."号,且不能出现在首位,同时后缀名为"java"
if (index != -1 && index != 0 && prefix.equals(".java")) { return 1;
}
}
return -1; }

运行结果:


这是按照我自己理解写的小程序,主要是用来熟悉String类的方法的使用,可能有很多需要改进的地方,如果有错误的地方请指出来谢谢!!

JAVA基础——编程练习(三)的更多相关文章

  1. 6、50道JAVA基础编程练习题跟答案

    50道JAVA基础编程练习题 [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 程序分析 ...

  2. 50道JAVA基础编程练习题

    50道JAVA基础编程练习题 [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少? 程序分析 ...

  3. 50道JAVA基础编程练习题 - 题目

    50道JAVA基础编程练习题[1]题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? [2]题目:判断 ...

  4. [Java并发编程(三)] Java volatile 关键字介绍

    [Java并发编程(三)] Java volatile 关键字介绍 摘要 Java volatile 关键字是用来标记 Java 变量,并表示变量 "存储于主内存中" .更准确的说 ...

  5. MQ java 基础编程

    MQ java 基础编程 编写人:邬文俊 编写时间 : 2006-2-16 联系邮件 : wenjunwu430@gmail.com 前言 通过 2 个多星期对 MQ 学习,在 partner 丁 & ...

  6. java基础解析系列(三)---HashMap

    java基础解析系列(三)---HashMap java基础解析系列 java基础解析系列(一)---String.StringBuffer.StringBuilder java基础解析系列(二)-- ...

  7. java 网络编程(三)---TCP的基础级示例

    下面是TCP java网络编程的基础示例: tcp传输:客户端建立过程的思路:1.创建TCP客户端的Socket服务,使用的是socket对象,建议在创建的过程中,就明确了目的地和要连接的主机2.如果 ...

  8. JAVA基础——编程练习(二)

    JAVA编程练习(二) 今天我为了巩固之前的java基础知识的学习,再次进行实战演习,编写了一个小小的java控制台程序,主要是运用java面向对象的思想来完成这个小项目. 一.项目背景介绍 根据所学 ...

  9. Java多线程编程核心技术(三)多线程通信

    线程是操作系统中独立的个体,但这些个体如果不经过特殊的处理就不能成为一个整体.线程间的通信就是成为整体的必用方案之一,可以说,使线程间进行通信后,系统之间的交互性会更强大,在大大提高CPU利用率的同时 ...

  10. JAVA基础学习-集合三-Map、HashMap,TreeMap与常用API

    森林森 一份耕耘,一份收获 博客园 首页 新随笔 联系 管理 订阅 随笔- 397  文章- 0  评论- 78  JAVA基础学习day16--集合三-Map.HashMap,TreeMap与常用A ...

随机推荐

  1. 通过helloworld来认识下backbone

    Backbone主要涉及3部分:model,collection和view.而这个框架的优势在于:数据与视图分离,通过操作model来自动更新view. 根据我的个人经验,直接写个简单的例子是最最直观 ...

  2. day18-事务与连接池 2.事务介绍与mysql下事务操作

    这么玩 真的变了吗?把cmd窗口关闭了看看. 就是固定的套路才行:start transaction->执行SQL->rollback; 执行每一条SQL之前都要start transac ...

  3. 【HDU6024】Building Shops

    题意 有n个教室排成一排,每个教室都有一个坐标,现在,小Q想建一些糖果商店,在这n个教室里面.总的花费有两部分,在教室i建一个糖果屋需要花费ci,对于没有任何糖果屋的P,需要的花费为这个教室到它左边有 ...

  4. 【HDU1573】X问题

    [题目描述] 求在小于等于N的正整数中有多少个X满足:X mod a[0] = b[0], X mod a[1] = b[1], X mod a[2] = b[2], …, X mod a[i] = ...

  5. 代码查看import的类是出自哪个jar包的方法(转)

    import java.security.ProtectionDomain; import java.security.CodeSource; public static void main(Stri ...

  6. 【总结整理】关于GrowingIO、友盟、google analysis等数据分析

    作者:纯银V链接:https://www.jianshu.com/p/394ec6c96c98來源:简书简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处. 埋点主要分为四步:第一步是 ...

  7. php扩展开发3--扩展类传参数

    1.需要实现的细节 实现一个person类 ,实现一个doing方法和saying方法 在构造方法中传递一个数组,在doing中打印此数组 saying方法中,构建一个空数组,返回,不需要传参. 2. ...

  8. 496. Next Greater Element I 另一个数组中对应的更大元素

    [抄题]: You are given two arrays (without duplicates) nums1 and nums2 where nums1’s elements are subse ...

  9. 面试题:J2EE中web.xml配置文件详解 背1

    一.web.xml是什么 web.xml学名叫部署描述符文件,是在Servlet规范中定义的,是Web应用的配置文件,是Web应用的基础. 二.web.xml加载流程 总的来说:ServletCont ...

  10. 特征选择Boruta

    A good feature subset is one that: contains features highly correlated with (predictive of) the clas ...