黑马程序员技术交流社区

标题: 昨天代码的改进 [打印本页]

作者: 冬冬宋    时间: 2016-8-12 20:10
标题: 昨天代码的改进
[AppleScript] 纯文本查看 复制代码
//今天的
package com.heima.dianzhao;
import java.util.Scanner;
public class Demo22 {

        /**
         * @param args
         */
        public static void main(String[] args) {
                        Scanner sc = new Scanner(System.in);
                        System.out.println("请输入您的11位手机号:");
                        String line = sc.nextLine();
                        //System.out.println(line);
                        int count=0;
                        if(line.length() == 11){
                                for (int i = 0; i < line.length(); i++) {
                                        char c = line.charAt(i);
                                        if(c>='0'&&c<='9'){
                                                count++;
                                        }
                                }
                                if(count==11){
                                        System.out.println("您的手机号是:"+line);
                                        String s2 = line.substring(7);
                                        System.out.println("您的验证码是:"+s2);
                                }else{
                                        System.out.println("输入失败");
                                }
                        }else{
                                System.out.println("输入失败");
                        }
        }
}       
//昨天的
package com.heima.dianzhao;

import java.util.Scanner;

public class Demo2 {

        /**
         *
                2. 模拟注册用户,按照以下要求实现相关功能(不一定要用正则表达式)
                 * a. 提示用户在控制台输入手机号码,并且输出用户的手机号码 ——2分
                 * b. 判断该手机号码是否是11位,是否都是数字,其余可以不做判断,如果不符合任意一项,
                              则提示用户“注册用户失败”——4分
                 * c. 将手机号的后四位获取出来作为验证码,并将验证码输出到控制台上 ——2分
         */
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                System.out.println("请您输入你的手机号码:");
                String s = sc.next();
                int num = s.length();
                String s1 = "";//定义了一个空串用来接收,判断后的数字组成新的字符串
                if(num==11){
                        for (int j = 0; j < s.length(); j++) {//对输入的数字字符串进行遍历
                                char c = s.charAt(j);//将字符串,转换为字符
                                if(c<'0'||c>'9'){//判断输入的第i个字符是不是数字
                                        System.out.println("注册用户失败!");//如果不是数字,则输出,注册用户失败
                                        //break;//条件成立,结束本次循环
                                }else{        //如果这个字符是数字则执行下面的语句
                                        s1 = s1+c;        //将满足条件的数字字符,拼接放到这个字符串中
                                        if(s1.length()==11){        //对新组成的字符串进行判断,如果还是11位,则说明用户输入的都是数字
                                                                                        //如果有一个不是数字,则新的字符串的长度肯定小于11,则输入中的数据肯定存在别的字符
                                                System.out.println("您的手机号是:"+s1);
                                                String s2 = s1.substring(7);
                                                System.out.println("您的验证码是:"+s2);
                                        }
                                }
                        }
        }else{
                System.out.println("输入不够11位");
        }
}
}

作者: luliang    时间: 2016-8-12 22:36
冬哥!你真的好棒{:2_43:}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2