JAVA学习第三十课(经常使用对象API)- String类:类方法练习
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类:类方法练习的更多相关文章
- JAVA学习第三十六课(经常使用对象API)— Set集合:HashSet集合演示
随着Java学习的深入,感觉大一时搞了一年的ACM,简直是明智之举,Java里非常多数据结构.算法类的东西,理解起来就轻松多了 Set集合下有两大子类开发经常使用 HashSet集合 .TreeSet ...
- JAVA学习第三十二课(经常使用对象API)- 基本数据类型对象包装类
将基本数据类型(8种:int..)封装成对象的优点就是能够在对象中封装很多其它的功能和方法来操控该数据 常见的操作就是:用于基本数据类型与字符串之间的转换 基本数据类型对象包装类一般用于基本类型和字符 ...
- JAVA学习第三十四课 (经常使用对象API)—List集合及其子类特点
整个集合框架中最经常使用的就是List(列表)和Set(集) 一.List集合 && Set的特点 Collection的子接口: 1.List:有序(存入和取出的顺序一致),元素都有 ...
- JAVA学习第三十三课(经常使用对象API) —迭代器
数字有非常多用数组存,对象有非常多就要用集合存 可是数组是固定长度的,集合是可变长度的 集合的由来: 对象用来封装特有数据,对象多了须要存储,假设对象个数不确定,就须要使用集合容器来存储 集合的特点: ...
- Java学习笔记三十:Java小项目之租车系统
Java小项目之租车系统 一:项目背景介绍: 根据所学知识,编写一个控制台版的“呱呱租车系统” 功能: 1.展示所有可租车辆: 2.选择车型.租车量: 3.展示租车清单,包含:总金额.总载货量以及其车 ...
- Java基础(三十五)Math、Random类和数字格式化(String.format方法)
一.Math类 Math类常用的方法: public static long abs (double a) 返回a的绝对值 public static double max (double a,dou ...
- 风炫安全WEB安全学习第三十八节课 越权漏洞演示与讲解
风炫安全WEB安全学习第三十八节课 越权漏洞演示与讲解 越权漏洞 0x01 漏洞介绍 越权漏洞的危害与影响主要是与对应业务的重要性相关,比如说某一页面服务器端响应(不局限于页面返回的信息,有时信息在响 ...
- 风炫安全web安全学习第三十六节课-15种上传漏洞讲解(一)
风炫安全web安全学习第三十六节课 15种上传漏洞讲解(一) 文件上传漏洞 0x01 漏洞描述和原理 文件上传漏洞可以说是日常渗透测试用得最多的一个漏洞,因为用它获得服务器权限最快最直接.但是想真正把 ...
- 风炫安全web安全学习第三十五节课 文件下载和文件读取漏洞
风炫安全web安全学习第三十五节课 文件下载和文件读取漏洞 0x03 任意文件下载漏洞 一些网站由于业务需求,往往需要提供文件下载功能,但若对用户下载的文件不做限制,则恶意用户就能够下载任意敏感文件, ...
随机推荐
- sql列转行
1.需要实现一个单行的统计报表 思路先用一个union查出单列,然后再把单列转成单行 2.实现 SELECT MAX(CASE WHEN type = 1 THEN num ELSE 0 END) A ...
- 动态从数据库读取菜单(ASP.NET版)
这几天一直打算做个从数据读取导航菜单的效果,以前做的时候都是写死的(太死了),好了话不多说,先看效果! 我是个小菜,高手请不要喷!我在网上查了好久,说用menu控件,但是我用了不太好!最后我决定用re ...
- 在Debian Wheezy 7.3.0上编译安装3.12.14内核
最近需要对Linux的一个内核模块进行调整实验,故决定先在虚拟机中完成编译调试工作,最后再在真实的系统上进行测试.为了防止遗忘,把过程记录于此. 1. 准备系统环境 首先从官网下载最新版的Virtua ...
- css伪类选择器详细解析及案例使用-----伪类选择器(1)
动态伪类选择器:E:link :选择匹配的E元素,并且匹配元素被定义了超链接并未被访问过.E:visited :选择匹配的E元素,而且匹配的元素被定义了连接并已被访问过.E:active :选择匹配的 ...
- 跨域访问-JSONP
JSONP即JSON with Padding.由于同源策略的限制,XmlHttpRequest只允许请求当前源(域名.协议.端口)的资源.如果要进行跨域请求,我们可以通过使用 html的script ...
- 打印对象和toString方法
JAVA对象 java对象是都是Object类的实例,都可直接调用该类中定义的方法,这些方法提供了处理java对象的通用方法. > > 6.2.1打印对象和toString方法 先看 ...
- C# DateTime的ToString()方法的使用
Console.WriteLine("ToShortDateString:" + DateTime.Now.ToShortDateString()); Console.WriteL ...
- C#高级知识点概要(3) - 特性、自动属性、对象集合初始化器、扩展方法、Lambda表达式和Linq查询
1.特性(Attributes) 特性(Attributes),MSDN的定义是:公共语言运行时允许你添加类似关键字的描述声明,叫做attributes, 它对程序中的元素进行标注,如类型.字段.方法 ...
- 在iis中调试asp.net程序
第一步,在iis中新建一个网站,名称为Langben,“物理路径”选择你的程序的根目录,端口你可以随便设置一个数,我这里设置为8888(后面要用到哦). 第二步,应用程序池设置一下 第三步,接下来,在 ...
- 更换ios 开发者账号与下载别人的代码 真机调试时注意切换
Buid Setting search sign