API

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);


  }


}

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容

  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,448评论 0 13
  • DAY 05 1、 public classArrayDemo { public static void mai...
    周书达阅读 654评论 0 0
  • 春梦随云散,飞花逐水流,寄言众儿女,何处觅闲愁
    欧言蹊阅读 133评论 0 0
  • 有一种爱而不见的爱情叫“隔岸相望”, 有一种痛苦叫“异地恋”。 隔着屏幕说“爱你”,手机辐射中也藏着难以说尽的相思...
    吴家龙Willem阅读 312评论 0 0
  • 请原谅我,不落俗套的,用了那首歌的名字。 我在听着Mariah Carey的Bye bye,这种R&B的节奏,最适...
    澳梦阅读 280评论 1 2