API

作者: 周书达 | 来源:发表于2018-08-19 09:02 被阅读0次

    API

    String 类【最终类】

    [if !supportLists]1.      [endif]打印字符串中,某个元素出现的位置。

    packagecn.tedu.string;

    importjava.util.Scanner;

    publicclass StringExer6

    {

      @SuppressWarnings("resource")

      publicstaticvoid main(String[] args) {

        // 获取到了2个字符串

        Scanners = newScanner(System.in);

        Stringstr = s.next();

        Stringsub = s.next(); 

        // 记录位置

        intindex= 0; 

        // 找子串出现的位置,从第0开始向后依次找

        // 找到之后打印这个位置然后从当前位置的下一位继续寻找

        //abcda  a

        while(index

          // 从指定的位置开始找元素

          //index(字符,从第几位开始寻找)【找到为整数,找不到为-1】

          index = str.indexOf(sub,index);

          if(index != -1){

           System.out.println(index);

           index++;

          }else

          break;

        }

      }

    }

    [if !supportLists]2、[endif]输入一个字符串,输入一个数,按照“gbk”编码将字符串转化为这个数的长度。

    packagecn.tedu.string;

    importjava.util.Scanner;

    publicclass StringExer5

    {

      @SuppressWarnings("resource")

      publicstaticvoid main(String[] args) throws Exception {

        // 获取到一个字符串和一个数字

        Scanners = newScanner(System.in);

        Stringstr = s.next();

        intn = s.nextInt();

        // 将字符串转化为一个字节数组,拆分成存储单元然后进行判断最后一位

        byte[] bs = str.getBytes("gbk");

        // 根据指定的字节个数截取这个字符串

        Stringsub = new String(bs, 0, n, "gbk");

        // 确定子串的最后一位是否转化出来

        if (sub.charAt(sub.length() - 1) != str.charAt(sub.length() -

    1))

          sub = new String(bs, 0, n - 1, "gbk");

        System.out.println(sub);

      }

    }

    [if !supportLists]3、[endif]获取一个字符串判断每个字符出现的次数

    packagecn.tedu.string;

    importjava.util.Scanner;

    /**

     *输入一个字符串,统计其中每一个字符出现的次数

     */

    publicclass StringExer4

    {

      @SuppressWarnings("resource")

      publicstaticvoid main(String[] args) {

        // 获取字符串

        Scanners = newScanner(System.in);

        Stringstr = s.next();

        // 标记思想

        // 给字符串的每一位字符进行标记

        // 规定如果为false表示这一位没有统计过

        // 如果为true说明这一位已经被统计过不需要被再次统计

        boolean[] bs = newboolean[str.length()];

        // 遍历字符串,依次获取每一位字符

        // 从头到尾的获取过程中有的位置已经统计过

        for (inti = 0; i

          // 判断这一位是否已经被统计过

          if (bs[i])

           continue;

          // 获取这一位字符

          charc = str.charAt(i);

          // 记录这个字符出现的次数

          intcount = 0;

          // 从当前位置开始继续向后寻找相同的字符

          for (intj = i; j

           {

             count++;

             bs[j] = true;

           }

          }

          System.out.println(c + ":" + count);

        }

      }

    }

    [if !supportLists]4.      [endif]输入一个字符串,将其中的数字提取出来并进行升序排序

    package cn.tedu.string;

    import java.util.Arrays;

    import java.util.Scanner;

    public class StringExer3 {

      @SuppressWarnings("resource")

      publicstatic void main(String[] args) {

        //获取字符串

        Scanners = new Scanner(System.in);

        Stringstr = s.next();

        //存储提取后的结果

        char[]ns = new char[str.length()];

        //记录提取的数字的个数

        intcount = 0;

        //遍历字符串,判断其中的字符是否是数字

        for(int i = 0; i < str.length(); i++) {

          charc = str.charAt(i);

          if(c >= '0' && c <= '9')

           ns[count++]= c;

        }

        //数组可能没有被填满,去除没有用到的位置

        ns= Arrays.copyOf(ns, count); 

        //排序

        Arrays.sort(ns);

        System.out.println(newString(ns));

      }

    }

    [if !supportLists]5.     [endif]输入一个字符串,将其中的数字提取出来并求和

    package cn.tedu.string;

    import java.util.Scanner;

    /**

     *输入一个字符串,将其中的数字提取出来并求和

     */

    public class StringExer2 {

      @SuppressWarnings("resource")

      publicstatic void main(String[] args) {

        //获取到字符串

        Scanners = new Scanner(System.in);

        Stringstr = s.next();

        //记录和

        intsum = 0;

        //将字符串转化为字符数组

        char[]cs = str.toCharArray(); 

        //遍历字符数组,提取其中的数字,增强for循环for(数组类型-变量名: 数组名)

        for(char c : cs) {

          if(c>= '0' && c <= '9')

           sum+= (c - '0');

        }

        System.out.println(sum);

      }

    }

    [if !supportLists]6.      [endif]输入一个字符串,统计字符串中字母、数字和其他符号的个数

    package cn.tedu.string;

    import java.util.Scanner;

    /**

     *输入一个字符串,统计字符串中字母、数字和其他符号的个数

     */

    public class StringExer1 {

      @SuppressWarnings("resource")

      publicstatic void main(String[] args) {

        //输入字符串

        Scanners = new Scanner(System.in);

        //next在获取数据的时候是以空白字符(空格、制表符、回车)作为结束

        //String str = s.next();

        //nextLine在获取数据的时候是以回车作为结束

        Stringstr = s.nextLine();

        //记录字母、数字以及其他符号的个数

        intletter = 0;

        intnumber = 0;

        intsymbol = 0;

        //遍历字符串,然后依次判断每一个字符的类型

        for(int i = 0; i < str.length(); i++) {

          charc = str.charAt(i);

          if(c >= 65 && c <= 90 || c >= 97 && c <= 122)

           letter++;

          elseif (c >= 48 && c <= 57)

           number++;

          else

           symbol++;

        }

        System.out.println("字母:" + letter);

        System.out.println("数字:" + number);

        System.out.println("符号:" + symbol);

      }

    }

    7.判断字符串:

        //由3个字母组成

        //第一个字母是a/b/c

        //第二个字母是d/e/f/g

        //第三个字母是x/y/z

    public class PatternDemo2 {

      publicstatic void main(String[] args) {

        Stringstr = "a";

        //判断字符串:

        //由3个字母组成

        //第一个字母是a/b/c

        //第二个字母是d/e/f/g

        //第三个字母是x/y/z

        //System.out.println(str.matches("[abc][defg][xyz]"));

        //匹配由一个字母组成的字符串

        //System.out.println(str.matches("[a-zA-Z]"));

        //匹配由一个数字组成的字符串

        //System.out.println(str.matches("[0-9]"));

        //System.out.println(str.matches("\\d"));

        //匹配由一个字符组成的字符串,但不是a/b/c

        //[^...]表示除了这些字符

        System.out.println(str.matches("[^abc]"));

      }

    }

    7 密码必须有小写字母,大写字母、数字其中的两个组成(正则表达式)

    package cn.tedu.regex;

    public class PatternExer2 {

      publicstatic void main(String[] args) {

        Stringpwd = "";

        System.out.println(check(pwd));

      }

      privatestatic boolean check(String pwd) {

        if(!pwd.matches("[a-zA-z0-9]{8,20}"))

          returnfalse;

        //记录出现的字符的种类

        intcount = 0;

        //判断是否含有小写字母

        if(pwd.matches(".*[a-z].*"))

          count++;

        //判断是否含有大写字母

        if(pwd.matches(".*[A-Z].*"))

          count++;

        //判断是否含有数字

        if(pwd.matches(".*\\d.*"))

          count++;

        returncount >= 2;

      }

    }

    8、package cn.tedu.baozhuang;

    public class IntegerDemo1 {

      @SuppressWarnings("unused")

      publicstatic void main(String[] args) {

        //int i = 7;

        //利用基本类型的数据构建了对应的引用类型的对象 --- 封箱

        //Integer in = new Integer(i);

        //自动封箱/拆箱是JDK1.5的特性之一

        //将基本类型的数据直接赋值给了对应的引用类型的对象 --- 自动封箱

        //自动封箱在底层会默认调用Integer类身上的静态方法valueOf

        //Integer in = Integer.valueOf(i);

        //Integer in = i;

        //double d = 3.5;

        //Double dou = Double.valueOf(d);

        //Double dou = d;

        //char c = 'a';

        //Character ch = c;

        Integerin = new Integer(5);

        //将引用类型的对象直接赋值给了对应的基本类型的变量 --- 自动拆箱

        //自动拆箱在底层会默认调用对象身上的***Value()

        //int i = in.intValue();

        inti = in;

        Doubledou = new Double(2.8);

        //Double d = dou.doubleValue();

        doubled = dou;

        Booleanbo = new Boolean(false);

        //boolean b = bo.booleanValue();

        booleanb = bo;

      }

    }

    9.package cn.tedu.regex;

    publicclassPatternDemo1 {

      publicstaticvoid main(String[] args) {

        // Stringstr= "va87gg[bq;903h/0gvd'sga9gsd";

        // System.out.println(str.replace('0',

    '-'));

        // 将所有的数字替换为-

        //

    System.out.println(str.replaceAll("\\d", "-"));

        // 将所有非数字全部去掉

        //

    System.out.println(str.replaceAll("\\D", ""));

        // Stringstr= "Cat Dog Pig Mouse Snake";

        // 交换Dog和Snake的顺序

        // 在replaceAll中可以$n的形式引用前一个正则中对应编号的捕获组

        //

    System.out.println(str.replaceAll("(Cat )(Dog)( Pig Mouse )(Snake)",

        //

    "$1$4$3$2"));

        Stringstr = "我我我我我我我我爱爱爱爱学学学习习习习习习习习习习习";

        // 我爱学习

        System.out.println(str.replaceAll("(.)\\1+", "$1"));

      }

    }

    10/

    packagecn.tedu.regex;

    importjava.util.Scanner;

    publicclassPatternExer3 {

      @SuppressWarnings("resource")

      publicstaticvoid main(String[] args) {

        Scanners = newScanner(System.in);

        Stringstr = s.next();

        // 记录字符串的原长度 --- 碎片的总长度

        doublelen = str.length();

        // 将字符串中所有的叠字替换为单字

        str = str.replaceAll("(.)\\1+", "$1");

        // 替换之后的长度就是碎片的个数

        // 计算碎片的平均长度

        System.out.println(len / str.length());

      }

    11

    package cn.tedu.time;

    importjava.text.SimpleDateFormat;

    importjava.util.Calendar;

    import java.util.Date;

    public class DateDemo{

      public static void main(String[] args) throwsException {

        //获取当前的系统时间

        // Date date = new Date();

        //这个方法在1900-01的基础上来进行累加

        //@SuppressWarnings("deprecation")

        //这个方法已过时

        //已过时指当前方法可以使用但是不推荐使用,在后续版本中可能会随时抛弃

        // Date date = new Date(2000 - 1900, 2 - 1,9);

        // 2000-12-15

        // 2000.12.15

        // 2000/12/15

        // 12/15/2000

        // 90.12.15

        //将字符串转化为日期

        SimpleDateFormat sdf = newSimpleDateFormat("yyyy.MM.dd HH:mm:ss");//定义日期格式

        Date date = sdf.parse("2000.12.1518:58:45");//parse解析一次,可以多次使用

        String str1 = sdf.format(date);//format格式

        System.out.println(str1);

        //将日期转化为字符串

        // XX年XX月XX日

        // XX时XX分XX秒

        SimpleDateFormat sdf2=newSimpleDateFormat("yyyy年dd月dd日\tHH时mm分ss秒");

        //可有可无,因为上面已经解析过一个日期了

        Date date2=sdf2.parse("2000年11月15日 18时58分45秒");

            String Str2=sdf2.format(date);

            System.out.println(Str2);

        Calendar c = Calendar.getInstance();

        System.out.println(c);

      }

    }

    11/

    packagecn.tedu.exception;

    publicclassExceptionDemo7 {

      publicstaticvoid main(String[] args) {

        System.out.println(m());

      }

      publicstatic Person m() {

        Personp = new Person();

        try {

          p.setName("如花");

          p.setAge(80);

          // p是对象,所以return的是p的地址

          returnp;

        }finally {

          p.setName("周星星");

          p.setAge(18);

        }

      }

    }

    class Person {

      private String name;

      privateintage;

      public String getName() {

        returnname;

      }

      publicvoid setName(String name) {

        this.name = name;

      }

      publicint getAge() {

        returnage;

      }

      publicvoid setAge(intage) {

        this.age = age;

      }

      @Override

      public String toString() {

        return"Person [name=" + name + ",

    age=" + age + "]";

      }

    }

    12/

    packagecn.tedu.exception;

    publicclassExceptionDemo4 {

      publicstaticvoid main(String[] args) {

        try {

          //

    System.out.println(1 / 0);

          System.out.println(10

    / 2);

        }catch (Exception e) {

          e.printStackTrace();

        }finally {

          // 无论出现了异常与否,finally都会执行一次。

          System.out.println("finally

    running~~~");

        }

        System.out.println(m());

      }

      @SuppressWarnings("finally")

      publicstaticint m() {

        // 在try-catch出现的情况下,

        // JVM在编译的时候认为try不一定能够执行成功

        // 就意味着try中不一定能够正常返回结果

        try {

          return 1;

        }catch (Exception e) {

          e.printStackTrace();

          // return

    3;

        }finally {

          return 9;

        }

        // return

    4;

      }

    }

    13/

    packagecn.tedu.collection;

    importjava.util.Arrays;

    publicclass ListExer {

    }

    class ArrList {

      private String[] data;

      // 记录元素的个数

      privateintsize = 0;

      public ArrList() {

        data = new String[10];

      }

      public ArrList(intinitialCapacity) {

        if (initialCapacity< 0)

          thrownew IllegalArgumentException();

        data = new String[initialCapacity];

      }

      // 添加元素

      publicvoid add(String str) {

        // 判断是否需要扩容

        if (size>= data.length)

          this.grow();

        data[size++] = str;

      }

      // 扩容

      privatevoid grow() {

        if (data.length<= 1)

          data= Arrays.copyOf(data, data.length + 1);

        else

          data= Arrays.copyOf(data, data.length + (data.length>>

    1));

      }

      // 插入元素

      publicvoid add(intindex, String str) {

        // 判断下标越界

        if (index>size)

          thrownew IndexOutOfBoundsException("Index:" + index + ",

    Size:" + size);

        // 判断扩容

        if (size>= data.length)

          this.grow();

        // 挪动元素空出对应的位置

        // for (inti = size - 1; i >= index; i--) {

        // data[i

    + 1] = data[i];

        // }

        // // 插入元素

        //data[index] =str;

        System.arraycopy(data, index, data, index + 1, size - index);

        size++;

      }

      publicvoid remove(intindex) {

        // 判断下标越界

        if (index>= size)

          thrownew IndexOutOfBoundsException("Index:" + index + ",

    Size:" + size);

        // for(inti = index; i < size - 1; i++){

        // data[i]

    = data[i + 1];

        // }

        System.arraycopy(data, index + 1, data, index, size - (index + 1));

        size--;

      }

    }

    13

    packagecn.tedu.collection;

    importjava.util.ArrayList;

    importjava.util.Collection;

    public classCollectionDemo {

      public static void main(String[] args) {

        //集合中存储的元素类型是String

        Collection c = newArrayList();

        //添加元素

        c.add("gwe");

        c.add("hred");

        c.add("hrd");

        c.add("ater");

        //将集合转化为数组

        // String[] os = (String[]) c.toArray();

        // Object[] os = c.toArray();

        // for (Object o : os) {

        // System.out.println(((String)o).length());

        // }

        String[] strs = c.toArray(new String[0]);

        for (String str : strs) {

          System.out.println(str.length());

        }

        //获取集合中的元素个数

        // System.out.println(c.size());

        //清空集合

        // c.clear();

        //判断集合是否为空

        // System.out.println(c.isEmpty());

        //判断元素是否存在

        //System.out.println(c.contains("hrd"));

        //System.out.println(c.contains("aft"));

        //从集合中移除指定的元素

        // c.remove("gwe");

        //如果元素不存在,会直接跳过

        // c.remove("age");

        System.out.println(c);

      }

    }

    相关文章

      网友评论

          本文标题:API

          本文链接:https://www.haomeiwen.com/subject/urzqiftx.html