intern方法

public class Main
{
public static void main(String[] args)
{
String str1 = new String("asd");
String str2 = str1.intern();/* 字符串常量池中有,就返回字符串,没有就创建 */
System.out.println(str2);
System.out.println( str1 == str2 );
}
}

练习1:字符串数组排序

import java.util.Scanner;

/*
* 给定一个字符串数组,按字典序升序排序
*/
public class Main {
public static void main(String[] args) {
stringsort();
} public static void stringsort() {
String[] str = new String[10];
Scanner in = new Scanner(System.in);
for (int i = 0; i < str.length; i++) {
str[i] = in.nextLine();
}
// System.out.println(str.length);
for (int i = 0; i < str.length - 1; i++) {
for (int j = 0; j < str.length - 1 - i; j++) {
if (str[j].compareTo(str[j + 1]) > 0) {
String t = str[j];
str[j] = str[j + 1];
str[j + 1] = t;
}
}
}
for (String iString : str) {
System.out.println(iString);
} }
}

练习2:统计子串在母串中出现的次数

indexOf的应用,记录当前出现的下标A。然后再从A+子串长度继续下后indexOf,利用循环可实现本功能

import java.util.Scanner;

/*
* 一个子串在字符串中出现的次数
*/
public class Main {
public static void main(String[] args) {
count();
} public static void count() {
String str = "abcdefabcghiabcsdabchzabc";
int num = 0,wz = 0;
for (int i = 0; i < str.length(); i++) {
int t = str.indexOf("abc",wz);
if(t!=-1)
{
wz = t+"abc".length();
num++;
}
else
break;
}
System.out.println(num);
}
}

练习3:两个字符串的最大同样子串

import java.util.Scanner;

/*
* 两个字符串中的最长公共子串
*/
public class Main {
public static void main(String[] args) {
String tString = compare();
System.out.println(tString);
} public static String compare() {
String str1 = "vbabcdefgsdfg";
String str2 = "asdabcdefgdf";
int Mlen = str1.length();
int Zlen = str2.length();
int len = (Mlen > Zlen) ? Zlen : Mlen;
// 找较短的母串,最大的公共长度不会超过len
// 公共子串可能出如今中间 for (int i = 0; i < len; i++)// 控制最大长度
{
for (int j = 0, k = len - i; k <= len; k++, j++)// j控制几个满足,k控制子串最后元素下标不越界
{
String sub = str2.substring(j, k);
if (str1.contains(sub))
return sub;
}
}
return null;
}
}

练习4:去除两端空格(模拟trim方法)

public class Main {
public static void main(String[] args) {
String string = " asd fs fg h ";
int st = 0,en = string.length()-1; for(;st<=en && string.charAt(st)==' '; st++); for(;st<=en && string.charAt(en)==' '; en--); String sub = string.substring(st, en+1);
System.out.println(sub);
} }



JAVA学习第三十课(经常使用对象API)- String类:类方法练习的更多相关文章

  1. JAVA学习第三十六课(经常使用对象API)— Set集合:HashSet集合演示

    随着Java学习的深入,感觉大一时搞了一年的ACM,简直是明智之举,Java里非常多数据结构.算法类的东西,理解起来就轻松多了 Set集合下有两大子类开发经常使用 HashSet集合 .TreeSet ...

  2. JAVA学习第三十二课(经常使用对象API)- 基本数据类型对象包装类

    将基本数据类型(8种:int..)封装成对象的优点就是能够在对象中封装很多其它的功能和方法来操控该数据 常见的操作就是:用于基本数据类型与字符串之间的转换 基本数据类型对象包装类一般用于基本类型和字符 ...

  3. JAVA学习第三十四课 (经常使用对象API)—List集合及其子类特点

    整个集合框架中最经常使用的就是List(列表)和Set(集) 一.List集合 && Set的特点 Collection的子接口: 1.List:有序(存入和取出的顺序一致),元素都有 ...

  4. JAVA学习第三十三课(经常使用对象API) —迭代器

    数字有非常多用数组存,对象有非常多就要用集合存 可是数组是固定长度的,集合是可变长度的 集合的由来: 对象用来封装特有数据,对象多了须要存储,假设对象个数不确定,就须要使用集合容器来存储 集合的特点: ...

  5. Java学习笔记三十:Java小项目之租车系统

    Java小项目之租车系统 一:项目背景介绍: 根据所学知识,编写一个控制台版的“呱呱租车系统” 功能: 1.展示所有可租车辆: 2.选择车型.租车量: 3.展示租车清单,包含:总金额.总载货量以及其车 ...

  6. Java基础(三十五)Math、Random类和数字格式化(String.format方法)

    一.Math类 Math类常用的方法: public static long abs (double a) 返回a的绝对值 public static double max (double a,dou ...

  7. 风炫安全WEB安全学习第三十八节课 越权漏洞演示与讲解

    风炫安全WEB安全学习第三十八节课 越权漏洞演示与讲解 越权漏洞 0x01 漏洞介绍 越权漏洞的危害与影响主要是与对应业务的重要性相关,比如说某一页面服务器端响应(不局限于页面返回的信息,有时信息在响 ...

  8. 风炫安全web安全学习第三十六节课-15种上传漏洞讲解(一)

    风炫安全web安全学习第三十六节课 15种上传漏洞讲解(一) 文件上传漏洞 0x01 漏洞描述和原理 文件上传漏洞可以说是日常渗透测试用得最多的一个漏洞,因为用它获得服务器权限最快最直接.但是想真正把 ...

  9. 风炫安全web安全学习第三十五节课 文件下载和文件读取漏洞

    风炫安全web安全学习第三十五节课 文件下载和文件读取漏洞 0x03 任意文件下载漏洞 一些网站由于业务需求,往往需要提供文件下载功能,但若对用户下载的文件不做限制,则恶意用户就能够下载任意敏感文件, ...

随机推荐

  1. android中定位光标位置

    edittext.setSelection(int); edittext.setText(123);//设置edittext中的内容 edittext.setSelection(123.length( ...

  2. 开源中国安卓client源代码学习(一) 渐变启动界面

    开源中国安卓client源代码学习(一) 渐变启动界面 准备学习安卓开发, 看到网上有人推荐开源中国安卓client的源代码, 说里面包括了大部分技术, 于是准备好好研究研究. 特开通此系列博客来记录 ...

  3. 自定义控件 环形进度条 ProgressBar

    使用 public class MainActivity extends Activity implements OnComompleteListener {     private int num  ...

  4. asp.net(C#)利用QRCode生成二维码---.NET菜鸟的成长之路

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="QRCode.aspx.cs&q ...

  5. win7 安装 IIS

    和xp不同,xp安装 IIS需要下载额外的软件包. 步骤 1,依次打开 "控制面板" -> "程序" ->"打开或关闭windows功能& ...

  6. winform 获取当前项目所在的路径

    代码: string curAppPath = System.IO.Directory.GetParent(System.Environment.CurrentDirectory).Parent.Fu ...

  7. AngularJs练习Demo14自定义服务

    @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport&quo ...

  8. foreach遍历扩展(二)

    一.前言 假设存在一个数组,其遍历模式是根据索引进行遍历的:又假设存在一个HashTable,其遍历模式是根据键值进行遍历的:无论哪种集合,如果它们的遍历没有一个共同的接口,那么在客户端进行调用的时候 ...

  9. C#中对Excel进行操作

    工作中要处理一批数据,主要是处理从别处导出来的Excel表格(大概有一千多行,三十多列),拿到表格对Excel表格进行分析,按照一定的规则进行拆分成为一万多行的数据:首先这个需求要用程序进行处理的背景 ...

  10. 获取GET/POST提交的数据,并处理中文问题

    1.获取input标签中的值,用request.getParameter("User")(User为input的name值) 2. 获取checkbox的值,由于是多选的,所以不能 ...