`
李亦鸿
  • 浏览: 12126 次
  • 性别: Icon_minigender_1
  • 来自: 海南
社区版块
存档分类
最新评论
  • baiyj71: quiz的例子因为浏览器版本的问题会出现报错,需要在smoke ...
    smoke.js
阅读更多

String 类:String 是字符串类型,它的数据存储方式和基本数据类型一样,String 又是一个类,String 类是final的,是不可继承的,String 类的本质是字符数组char[] ,其值是不可改变的,javaAPI中提供很多String类的方法;

 

Sting类方法的演示:

 

/**
 * String类的方法演示
 *
 */
public class StringDemo {
	
	public static void main(String[] args){
		
		String str = "abcabcab;cabcabc";
		//字符串的长度
		int  m = str.length();
		System.out.println("字符串的长度是: "+m);
		//输出字符串b第一次出现的位置
		System.out.println("The index of the character is: "+str.indexOf("b"));
		//输出指定字符串最后一次出现的位置
		System.out.println("The lastIndex of the character is: "+str.lastIndexOf("b"));
		//输出字符串从指定位置开始访问,第一次出现的位置
		System.out.println("The index of the character begin from index 2 is: "+str.indexOf("b",2)); 
		// 返回指定字符在此字符串中最后一次出现处的索引,从指定的索引处开始进行反向搜索。
	    System.out.println("The lastIndex of the character reverse from index 12 is: "+str.lastIndexOf("b",12)); 
		//输出指定字符的位置的字符
		System.out.println("The character at index 2 is : "+str.charAt(2));
		//将指定字符串连接到此字符串的结尾处
		System.out.println("The new String after concat is: "+str.concat("hgj"));
		//按字典顺序比较两个字符串
		System.out.println("The result of the compare is: "+str.compareTo("abcdefg"));
		//是否包含指定的char型的可读序列
		System.out.println("The result of the contain return : "+str.contains("abcz"));
		//将此字符串与指定的stringBuffer比较
		System.out.println("The result of the contentEquals return: "+str.contentEquals("abcd"));
		//System.out.println(str.copyValueOf());
		//测试此字符串是否以指定的后缀结尾
		System.out.println("This String is ending with the string return: "+str.endsWith("abc"));
		//返回此 String 中从给定的 index 处偏移 codePointOffset 个代码点的索引。
		System.out.println("The index after  codePointOffset is : "+str.offsetByCodePoints(1, 4));//输出整数5
		//  返回指定索引处的字符(Unicode 代码点)。输出指定字符的AS码值
		System.out.println("The AS  value of  the index 2 is: "+str.codePointAt(2));
		//对字符串进行拆分
		String[] c =str.split(";");
		for(int i=0;i<c.length;i++ ){
		System.out.println("The new String after split are:"+c[i]);
		}
		//测试此字符串是否以指定的前缀开始。
		System.out.println("Whelther starts with the String return:  "+str.startsWith("a"));
		//返回一个新的字符串,它是此字符串的一个子字符串。
		System.out.println("The new String of the subSequence is: "+str.subSequence(2,4));
		//返回一个新的字符串,它是此字符串的一个子字符串。
		System.out.println("The new String of the substring is"+str.substring(2));
		//把字符串换成大写
		System.out.println("The new String after to upperCase is: "+str.toUpperCase());
		//把字符串换成小写
		System.out.println("The new String after to lowerCase is: "+str.toLowerCase());
		//返回字符串的副本,忽略前导空白和尾部空白。
		System.out.println("The new String after triming is : "+str.trim());
	  
	}

}

 输出结果:

 

字符串的长度是: 16
The index of the character is: 1
The lastIndex of the character is: 14
The index of the character begin from index 2 is: 4
The lastIndex of the character reverse from index 12 is: 11
The character at index 2 is : c
The new String after concat is: abcabcab;cabcabchgj
The result of the compare is: -3
The result of the contain return : false
The result of the contentEquals return: false
This String is ending with the string return: true
The index after  codePointOffset is : 5
The AS  value of  the index 2 is: 99
The new String after split are:abcabcab
The new String after split are:cabcabc
Whelther starts with the String return:  true
The new String of the subSequence is: ca
The new String of the substring iscabcab;cabcabc
The new String after to upperCase is: ABCABCAB;CABCABC
The new String after to lowerCase is: abcabcab;cabcabc
The new String after triming is : abcabcab;cabcabc

 

 

实例:

用String类中的方法输出一字符串中每个字符出现的次数。

解题思路:利用String类的方法,遍历字符串中的每个字符,每个字符都有对应的AS码值,定义一个长度为256的数组,数组的下标对应着AS码值,当遍历到一个字符,就在数组下标与该字符对应的AS码值相等的数组位置加1,当再次遍历到该字符就再加1,这样就把每个字符的出现次数都存在数组当中,最后输出至少出现1次的字符即可。

代码:

/**
 *定义一个StringShow2类
 */
public class StringShow2 {
    /**
     * 程序的入口
     * @param args
     */
	public static void main(String[] args){
		//定义一个String类型的字符串
		String str ="asdhhsfqygdshchhjjagbddhvcddvhjdvs";
		//求字符串的长度
		int m = str.length();
		System.out.println("字符串的长度是:"+m);
		//定义一个长度为256的数组a
		int [] a =new int[256];
		/**
		 * 循环控制次数
		 */
		for(int i=0;i<m;i++){
			//将输出的字符为int类型
			int chr= str.charAt(i);
			//输出的字符对应的AS码值存入数组中
			a[chr]++;
			//第几次输出字符
		System.out.println("第"+a[chr]+"次输出字符"+(char)chr);
		}
		System.out.println();
		//循环控制出现次数
		for(int j=0;j<a.length;j++){
			//只输出出现的字符
			if(a[j]!=0)
		  //输出各个字符出现的次数
			System.out.println((char)j+"输出的次数是:"+a[j]);
			
		}
	}

}

 输出结果:

 

字符串的长度是:34
第1次输出字符a        第1次输出字符s        第1次输出字符d           第1次输出字符h      第2次输出字符h       

第2次输出字符s        第1次输出字符f         第1次输出字符q           第1次输出字符y      第1次输出字符g      

第2次输出字符d        第3次输出字符s        第3次输出字符h           第1次输出字符c      第4次输出字符h     

第5次输出字符h        第1次输出字符j         第2次输出字符j            第2次输出字符a      第2次输出字符g    

第1次输出字符b        第3次输出字符d        第4次输出字符d           第6次输出字符h      第1次输出字符v      

第2次输出字符c        第5次输出字符d        第6次输出字符d          第2次输出字符v       第7次输出字符h    

第3次输出字符j         第7次输出字符d        第3次输出字符v          第4次输出字符s

 

a输出的次数是:2
b输出的次数是:1
c输出的次数是:2
d输出的次数是:7
f输出的次数是:1
g输出的次数是:2
h输出的次数是:7
j输出的次数是:3
q输出的次数是:1
s输出的次数是:4
v输出的次数是:3
y输出的次数是:1

 

分享到:
评论

相关推荐

    c++作业设计string类

    设计string类 要求: 1、为该类定义构造函数,析构函数和赋值操作。构造函数至少应有三个:无参构造函数、C风格字符串构造函数和复制构造函数 2、为string类提供必要的成员函数,可以参考C++类库的string类提供了...

    java基础String类选择题练习题

    根据提供的信息,我们可以总结出这份Java基础String类选择题练习题主要聚焦于String及StringBuffer类的使用。尽管具体的题目内容未给出,但从所展示的信息中可以推断出该练习题集涵盖了以下几方面的知识点: ### 一...

    String类的常用方法

    String类的常用方法 String类是Java语言中最基本的类之一,用于处理字符串。字符串是一个字符序列,Java中字符串是不可变的,即创建后不能被修改。下面是String类的常用方法: 1. equals()方法:用于判断两个字符...

    string类的构造方法_String类重要吗_C++_STL_string_

    标题中的“string类的构造方法”揭示了我们要探讨的核心内容——如何初始化和创建`std::string`对象。`std::string`类不仅在日常编程中频繁使用,而且在很多高级功能如正则表达式、文本处理等方面都有重要应用,因此...

    java自制string类例程

    在Java编程语言中,String类是一个非常基础且重要的部分,它是不可变的,也就是说一旦创建了一个String对象,就不能更改它的内容。然而,许多初学者在学习过程中可能会尝试自己创建一个类似的字符串类,以便更好地...

    String类的intern、split方法

    String类的intern、split方法 String 类的 intern 方法是一个本地方法,定义如下:public native String intern();该方法返回一个字符串对象的内部化引用,由 String 类维护一个初始为空的字符串的对象池,当 ...

    C++ String 类常用成员函数汇总

    C++ String 类常用成员函数汇总 C++ 的 String 类提供了多种成员函数来操作字符串,这些成员函数可以分为构造函数、字符操作、特性描述、输入输出操作和赋值五大类。 首先,String 类的构造函数有多种重载版本,...

    c++链表string类程序

    在这个"链表string类程序"中,我们可以预想它可能涉及到用C++实现链表结构,并结合`std::string`进行字符串的操作。下面将详细介绍`std::string`类以及如何将其与链表相结合。 1. **`std::string` 类基础** `std::...

    c++string类函数原型借鉴.pdf

    本文主要介绍了C++中的字符串类函数原型借鉴,通过自定义的String类来实现字符串的操作。下面将对标题、描述、标签和部分内容进行详细的分析和解释。 标题:C++ String 类函数原型借鉴 C++中的字符串操作是非常...

    C#中String类常用方法汇总

    在C#编程语言中,String类是用于处理文本字符串的核心类。它提供了丰富的功能,使得在处理字符串时能够实现各种常见的操作。以下是对C#中String类常用方法的详细解释和示例: 1. `.ToLower()` 和 `.ToUpper()` 这...

    介绍java中String类的方法

    Java中的String类是编程中非常基础且重要的一个类,它代表不可变的字符序列,即一旦创建,其内容就不能更改。下面我们将详细讨论String类的一些主要特性、实例化方式以及常用方法。 1. **String类的实例创建**: -...

    string 类及所有的方法(c++)

    C++的string类提供了一系列方便的成员函数,用于处理和操作字符串。 2.1 C++字符串和C字符串的转换 string类可以方便地与C风格的字符数组进行转换。例如,你可以使用.c_str()成员函数将string对象转换为C风格的...

    JAVA实验报告四(实现String类).doc

    Java 实验报告四(实现 String 类) 在本实验报告中,我们将实现 Java 中的 String 类,并了解其实现原理。 String 类是 Java 中一个非常重要的类,它提供了字符串操作的各种方法。在这里,我们将基于 ArrayList ...

    Educoder题目:Java面向对象 - String类答案解析.md

    Educoder题目:Java面向对象 - String类答案解析

    C++ String类实现

    C++实现的String类,可以支持UTF-8编码

    String类的完整实现包括

    *String类中包括以下函数:* *默认构造函数,带参数构造函数 , 拷贝构造函数 *取字符串函数GetString(),取字符串长度函数GetLength(),查找字串位置函数Find() *重载,&gt;&gt;,[],=,+,&gt; *析构函数 *String类中包括2个...

    自己写了个string类

    标题提到的“自己写了个string类”,意味着作者创建了一个类似于C++标准库中的`std::string`的自定义字符串类。这样的练习有助于深入理解字符串的内部工作原理、内存管理和对象操作。下面我们将详细探讨这个话题。 ...

    设计string类

    2、为string类提供必要的成员函数,可以参考C++类库的string类提供了那些成员函数,至少应包括下标访问,子串查找、获得C风格字符串、获得字符串长度、字符串比较这几个函数 3、利用该string类完成测试程序:统计一...

    C++string类仿写

    C++编写的类似于string类,自己改动实现相关库函数功能 C++的一般编译器都定义和封装了字符串功能,请模仿定义string类的实现,可以实现并支持如下功能: (1)string s = “rubbish大学”; (2)string t = s; ...

Global site tag (gtag.js) - Google Analytics