编程算法基地-2.1利用字符串API

it2025-07-21  11

2.1利用字符串API

字符串是Java类型最常用。并且是复合类型

串非常经常用于,其最佳API熟悉文档。

推断串中有没有反复的字符

String s =”abcdebxyz”;

推断当中有没有反复字符

/*推断串中有没有反复的字符 String s ="abcdebxyz"; 推断当中有没有反复字符*/ package StringAPI; public class JudgeRepeatInString { public static void main(String[] args) { String s ="abcdex啊yz啊"; boolean judge = false;//推断标记,初始化没有反复 for(int i=0;i<s.length();i++){//首先遍历这个串 char c = s.charAt(i);//得到第i位的字符 if(s.lastIndexOf(c)!=i){//假设串中最后一次出现c表示的字符的位置!=i judge = true;//有反复 } } System.out.println(judge); } } true 

 char

charAt(int index)           返回指定索引处的 char 值。

 int

lastIndexOf(int ch)           返回指定字符在此字符串中最后一次出现处的索引。

 

移位加密

ASCII码+一个数

 

串的定义是不能被改动的

所谓改动,是新生成一个新的串

假设大量的新生成新的串,对计算机有非常大压力

 

所以考虑把串变成char类型数组。移位加密后,在变成串,就可以。

/*移位加密 ASCII码+一个数 串的定义是不能被改动的 所谓改动,是新生成一个新的串 假设大量的新生成新的串,对计算机有非常大压力 所以考虑把串变成char类型数组,移位加密后,在变成串。就可以。 */ package StringAPI; public class MoveSecret { public static void main(String[] args) { String s = "Where is my code?中文会非常乱吗?"; char c[] = s.toCharArray();//讲串转为char数组 for(int i=0;i<c.length;i++){ c[i]++; } String s2 = new String(c);//讲char数组转回串,String的构造方法。

System.out.println(s2); } }

Xifsf!jt!nz!dpef@丮斈伛徉乲吘@

 char[]

toCharArray()           将此字符串转换为一个新的字符数组。

String(char[] value)           分配一个新的 String。使其表示字符数组參数中当前包括的字符序列。

 

推断

推断一个全路径名是否在c盘且是.ini扩展名。

"c:\\xyz\\bak\\x.ini" 复合标准

"ccc\\ttt\\kk\\ini" 则不是

/* 推断 推断一个全路径名是否在c盘且是.ini扩展名。

"c:\\xyz\\bak\\x.ini" 复合标准 "ccc\\ttt\\kk\\ini" 则不是 */ package StringAPI; public class JudgePath { public static void main(String[] args) { // String s = "ccc\\ttt\\kk\\ini" ; String s = "c:\\xyz\\bak\\x.ini"; boolean judge = false; if (s.startsWith("c:\\") && s.endsWith(".ini")) {//以"c:\\"開始&&以".ini"结束 judge = true; } System.out.println(judge); } } true

 

boolean

startsWith(String prefix)           測试此字符串是否以指定的前缀開始。

 boolean

endsWith(String suffix)           測试此字符串是否以指定的后缀结束。

版权声明:本文博客原创文章,博客,未经同意,不得转载。

转载于:https://www.cnblogs.com/bhlsheji/p/4679796.html

相关资源:算法 第4版-谢路云译-带完整书签
最新回复(0)