现有一串字符串,如javajjjsskjavajavajlll,编写程序将相邻且相同的java替换为单个的java,并计算替换后的字符串中java的个数。
public class Son
{
public static String excute(String str)
{
int size = 0;
int len = str.length();
String newstr="";
boolean bol = false;
int i=0;
while(i< len){
String char1 =String.valueOf(str.charAt(i));
if("j".equals (char1)){
if(i+4 > len){
newstr = newstr+str.substring(i,len);
i=len;
}else {
String s=str.substring(i, i+4);
if("java".equals(s)&& bol==false){
newstr = newstr+str.substring(i,i+4);
i=i+4;
bol=true;
size++;
}else if("java".equals(s)&& bol==true){
i=i+4;
}
else {
newstr=newstr+str.charAt(i);
i++;
bol=false;
}
}
} else {
newstr=newstr+str.charAt(i);
i++;
bol=false;
}
}
System.out.println("size=: "+size);
return newstr;
}
public static void main(String args[])
{
String res = excute("ddddjavajavajajsssjavayyjuaoooojava");
System.out.println(res);
}
/**
2 * 替换字符串函数
3 * @param strSource - 源字符串
4 * @param strFrom - 要替换的子串
5 * @param strTo - 替换为的字符串
6 * @return
7 * @author zzn Date 2009-06-08
8 *
9 */
10 public static String replace(String strSource, String strFrom, String strTo)
11 {
12 // 如果要替换的子串为空,则直接返回源串
13 if(strFrom == null || strFrom.equals(""))
14 return strSource;
15 String strDest = "";
16 // 要替换的子串长度
17 int intFromLen = strFrom.length();
18 int intPos;
19 // 循环替换字符串
20 while((intPos = strSource.indexOf(strFrom)) != -1)
21 {
22 // 获取匹配字符串的左边子串
23 strDest = strDest + strSource.substring(0,intPos);
24 // 加上替换后的子串
25 strDest = strDest + strTo;
26 // 修改源串为匹配子串后的子串
27 strSource = strSource.substring(intPos + intFromLen);
28 }
29 // 加上没有匹配的子串
30 strDest = strDest + strSource;
31 // 返回
32 return strDest;
33 }
Java获取随机字符串
import java.util.Random;
public class getRandomString
{
public static String excute(int length)
{
StringBuffer buffer = new StringBuffer("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");
StringBuffer sb = new StringBuffer();
Random r = new Random();
int range = buffer.length();
for (int i = 0; i < length; i ++)
{
sb.append(buffer.charAt(r.nextInt(range)));
}
return sb.toString();
}
public static void main(String args[])
{
String res = excute(4);
System.out.println(res);
}
}
18 int intPos;
19 // 循环替换字符串
20 while((intPos = strSource.indexOf(strFrom)) != -1)
21 {
22 // 获取匹配字符串的左边子串
23 strDest = strDest + strSource.substring(0,intPos);
24 // 加上替换后的子串
25 strDest = strDest + strTo;
26 // 修改源串为匹配子串后的子串
27 strSource = strSource.substring(intPos + intFromLen);
28 }
29 // 加上没有匹配的子串
30 strDest = strDest + strSource;
31 // 返回
32 return strDest;
33 }
public class Son
{
public static String excute(String str)
{
int size = 0;
int len = str.length();
String newstr="";
boolean bol = false;
int i=0;
while(i< len){
String char1 =String.valueOf(str.charAt(i));
if("j".equals (char1)){
if(i+4 > len){
newstr = newstr+str.substring(i,len);
i=len;
}else {
String s=str.substring(i, i+4);
if("java".equals(s)&& bol==false){
newstr = newstr+str.substring(i,i+4);
i=i+4;
bol=true;
size++;
}else if("java".equals(s)&& bol==true){
i=i+4;
}
else {
newstr=newstr+str.charAt(i);
i++;
bol=false;
}
}
} else {
newstr=newstr+str.charAt(i);
i++;
bol=false;
}
}
System.out.println("size=: "+size);
return newstr;
}
public static void main(String args[])
{
String res = excute("ddddjavajavajajsssjavayyjuaoooojava");
System.out.println(res);
}
/**
2 * 替换字符串函数
3 * @param strSource - 源字符串
4 * @param strFrom - 要替换的子串
5 * @param strTo - 替换为的字符串
6 * @return
7 * @author zzn Date 2009-06-08
8 *
9 */
10 public static String replace(String strSource, String strFrom, String strTo)
11 {
12 // 如果要替换的子串为空,则直接返回源串
13 if(strFrom == null || strFrom.equals(""))
14 return strSource;
15 String strDest = "";
16 // 要替换的子串长度
17 int intFromLen = strFrom.length();
18 int intPos;
19 // 循环替换字符串
20 while((intPos = strSource.indexOf(strFrom)) != -1)
21 {
22 // 获取匹配字符串的左边子串
23 strDest = strDest + strSource.substring(0,intPos);
24 // 加上替换后的子串
25 strDest = strDest + strTo;
26 // 修改源串为匹配子串后的子串
27 strSource = strSource.substring(intPos + intFromLen);
28 }
29 // 加上没有匹配的子串
30 strDest = strDest + strSource;
31 // 返回
32 return strDest;
33 }
Java获取随机字符串
import java.util.Random;
public class getRandomString
{
public static String excute(int length)
{
StringBuffer buffer = new StringBuffer("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");
StringBuffer sb = new StringBuffer();
Random r = new Random();
int range = buffer.length();
for (int i = 0; i < length; i ++)
{
sb.append(buffer.charAt(r.nextInt(range)));
}
return sb.toString();
}
public static void main(String args[])
{
String res = excute(4);
System.out.println(res);
}
}
18 int intPos;
19 // 循环替换字符串
20 while((intPos = strSource.indexOf(strFrom)) != -1)
21 {
22 // 获取匹配字符串的左边子串
23 strDest = strDest + strSource.substring(0,intPos);
24 // 加上替换后的子串
25 strDest = strDest + strTo;
26 // 修改源串为匹配子串后的子串
27 strSource = strSource.substring(intPos + intFromLen);
28 }
29 // 加上没有匹配的子串
30 strDest = strDest + strSource;
31 // 返回
32 return strDest;
33 }
发表评论
-
影子clone和深度clone
2009-11-11 20:55 1593下面的例子包含三个类UnCloneA,CloneB,Clone ... -
值传递与引用传递
2009-11-11 20:43 8061.java“指针” Java语言的一个优点就是取消了指针 ... -
java的泛型
2009-11-06 22:57 723在网上看了好多人关于 ... -
线程sleep和synchronized应用
2009-06-24 11:53 1071在 Java 程序中使用多线 ... -
java动态绑定
2009-06-24 10:50 1728本文转 “子 孑” 博客:http://zhangjunhd. ... -
文件流的读入和输出
2009-06-17 15:33 1037// 新的文件存放路径 String newFile = ... -
排序方法举例
2009-06-06 14:40 716冒泡排序:相邻两元素进行比较,如有需要则进行交换,每完成一次循 ... -
java随机数的产生
2009-06-06 11:14 756有三种方式产生随机数 1.在j2se中使用Math.rando ... -
java算法(转载)
2009-06-05 21:41 476package com.softeem.jbs.lesson4 ... -
java中获取当前路径(转载)
2009-06-03 09:14 8631、利用System.getProperty()函数获取当前路 ...
相关推荐
使用Java操作JSON字符串对象,使用Java操作JSON字符串对象
通过以上分析,我们可以看到使用JDOM库在Java中解析和操作XML字符串的完整过程。这包括了如何将XML字符串转换为可读写的数据结构,以及如何遍历、读取和修改XML文档的元素和属性。这对于在Java应用程序中处理动态...
在Java编程语言中,字符串...以上只是Java字符串操作的一小部分,实际开发中还有许多其他方法和特性,如国际化(I18N)、正则表达式等,都需要程序员灵活掌握。理解并熟练运用这些操作,能有效提高代码质量和效率。
在Java编程中,经常需要将日期对象转化为字符串形式以便于存储或显示,或者反过来将字符串转化成日期对象来进行日期计算等操作。本文将详细介绍如何在Java中实现这两种转换。 #### 一、将一个Date类型的变量转换为...
在Java编程语言中,分割字符串是一项常见的操作,它允许我们将一个长字符串分解成多个子字符串,每个子字符串对应原字符串中的某个部分。这通常通过使用`split()`方法来实现,该方法是Java `String`类的一个成员。在...
### Java中的字符串处理 #### 一、字符串的概念与特点 在Java中,字符串是一系列字符的集合,与其他编程语言将字符串视为字符数组不同,Java采用了更为先进的方式——将字符串视为`String`类型对象来处理。这种...
在Java编程语言中,处理字符串是非常常见的操作,尤其是在涉及到文本分析和处理的场景。本文将深入探讨如何在Java中进行中文字符的判断和计数,这主要基于Java的Unicode编码特性以及字符集的理解。 首先,我们需要...
### Java中字符串的操作汇总 在Java编程语言中,字符串(`String`)是极其重要的一个概念,被广泛应用于各种场景之中。为了更好地理解和运用Java语言,掌握字符串的各种操作方法至关重要。下面将详细介绍Java中字符...
本文将深入探讨Java中字符串处理的相关知识点,包括`String`类型的特点、构造方法、字符串操作以及与`StringBuffer`的关系。 #### `String`类型概述 在Java中,`String`类型是不可变的,这意味着一旦一个`String`...
在实际编程中,Java的`String`类提供了多种字符串操作方法,如`indexOf()`用于查找子串第一次出现的位置,以及`lastIndexOf()`用于查找最后一次出现的位置。然而,对于大量数据的高效处理,自定义的算法如KMP则更为...
本篇文章将深入探讨如何从字符串中提取括号内的内容,主要关注于基础的字符串操作、正则表达式以及如何利用这些工具来实现目标。 首先,我们要明白Java中的字符串是`String`类的对象,它提供了丰富的API用于字符串...
Java 字符串分割是 Java 编程语言中的一种常见操作,用于将给定的字符串按照一定的规则分割成多个子字符串,并将其存储在数组或集合中。在本例中,我们将学习如何使用 Java 实现字符串分割功能,包括将输入字符串...
在Java编程语言中,计算字符串表达式是一项常见的任务,它涉及到解析、编译和执行包含数学运算符和操作数的字符串。这篇博客“Java实现计算字符串表达式”可能讲解了如何利用Java来处理这种问题,虽然具体的实现细节...
在JAVA中拼接两个字符串的最简便的方式就是使用操作符”+”了。如果你用”+”来连接固定长度的字符串,可能性能上会稍受影响,但是如果你是在 循环中来”+”多个串的话,性能将指数倍的下降。假设有一个字符串,我们...
本次实验旨在深化理解Java中的数组与字符串操作,聚焦于`String`类与`StringBuffer`类的掌握,包括它们的常用方法、相等性判断的不同方式、数组的创建及引用机制,以及`Arrays`类的静态方法应用。实验通过具体的编程...
在Java编程语言中,字符串操作是日常开发中的重要部分,因为字符串处理无处不在,从数据解析到用户界面的交互。`StringUtil` 类是这样一个工具类,它集合了多种常用的字符串处理方法,以提高开发效率并减少代码重复...
Java字符、字符串、数组操作实例,主要是数组的复制、反转字符串中的字符、命令行参数、求字符串的长度及每一个位置上的字符、数组的排序、String类数组的操作等方面的例子,相信对初学者学习Java有帮助的。
总之,理解和熟练掌握Java中的字符串操作、正则表达式以及日期时间格式化对于任何Java开发者来说都是必不可少的技能。通过实践和不断探索,你将能够编写出更高效、更优雅的代码来处理字符串相关的任务。
29.java字符串+操作.zip29.java字符串+操作.zip29.java字符串+操作.zip29.java字符串+操作.zip29.java字符串+操作.zip29.java字符串+操作.zip29.java字符串+操作.zip29.java字符串+操作.zip29.java字符串+操作.zip29...
对于初学者而言,通过实践上述练习,不仅可以加深对字符串操作的理解,还能锻炼解决问题的能力。在实际项目开发中,字符串处理常常扮演着至关重要的角色,因此投入时间学习和掌握这部分知识是十分必要的。