package sc.zdd.test;
public class StrTest {
/**
* 字符串的反转
* @param str要返转后的字符
* @return 返转后的字符
*/
public static String fz(String str){
char[] value = str.toCharArray();
int count = str.length();
int n = count-1;
for(int j=(n-1)>>1;j>=0;--j){
char temp = value[j];
char temp2 = value[n-j];
value[n-j]=temp;
value[j] = temp2;
}
return new String(value);
}
/**
* 一句话中的,各个单词反转
* @param str
* @return
*/
public static String fzjz(String str){
String[] value = str.trim().split(" ");
int n = value.length;
System.out.println(n);
for(int i =0;i<n;i++){
str=str.replace(value[i], fz(value[i]));
}
return str;
}
/**
* 这个是java.lang.String中的反转方法
* @param str
* @return
*/
public static String reverse(String str) {
char[] value = str.toCharArray();
int count = str.length();
boolean hasSurrogate = false;
int n = count - 1;
for (int j = (n-1) >> 1; j >= 0; --j) {
char temp = value[j];
char temp2 = value[n - j];
System.out.println(temp+0);
System.out.println(temp2+0);
if (!hasSurrogate) {
hasSurrogate = (temp >= Character.MIN_SURROGATE && temp <= Character.MAX_SURROGATE)
|| (temp2 >= Character.MIN_SURROGATE && temp2 <= Character.MAX_SURROGATE);
}
value[j] = temp2;
value[n - j] = temp;
}
if (hasSurrogate) {
// Reverse back all valid surrogate pairs
for (int i = 0; i < count - 1; i++) {
char c2 = value[i];
if (Character.isLowSurrogate(c2)) {
char c1 = value[i + 1];
if (Character.isHighSurrogate(c1)) {
value[i++] = c1;
value[i] = c2;
}
}
}
}
return new String(value);
}
/**
* 这个是为了实现中文占两个字符的截取
* @param str 要截取的母字符
* @param n 是要截取的前几个字符
* @return
*/
public static String subString(String str,int n){
char[] value = str.toCharArray();
char[] temp = new char[n];
int count = value.length;
if(count==0||n==0){
return "";
}
for(int i=0;i<n;i++){
if(value[i]>256){
n--;
}
if(i<n){
temp[i]=value[i];
}
}
return new String(temp);
}
public static void main(String[] args) {
// Boolean b1 = new Boolean("sss");
// System.out.println(b1);
// //false这里只在这个字符串只有是true时才会返回true,其余都是返回false
// System.out.println(Math.abs(-100));//100
// System.out.println(Math.abs(Integer.MAX_VALUE));//2147483647
// System.out.println(Math.abs(Integer.MIN_VALUE));//-2147483648
// StringBuffer sb1 = new StringBuffer("a");
// sb1.append("b");
// System.out.println(sb1.reverse());
// System.out.println(sb1);
// String s1 = "aaa";
// s1.concat("bbbbb");
// System.out.println(s1);
// System.out.println(fzjz(" ab 中d国m sd "));
System.out.println(subString("中国",0));
}
}
分享到:
相关推荐
### Java使用递归实现字符串反转 在Java编程语言中,递归是一种常用的方法来解决许多问题,特别是那些可以通过分解成更小子问题来解决的问题。本文将详细介绍如何使用递归来实现字符串的反转。 #### 一、递归基础...
在C#编程语言中,字符串反转是一个常见的操作,特别是在处理文本数据时。本文将详细介绍两种在C#中实现字符串反转的方法,并通过一个控制台程序示例进行演示。 ### 方法一:使用`Substring()`和`Length`属性 第一...
在C# .NET编程环境中,字符串反转是一个常见的操作,它涉及到对字符串中字符顺序的逆序处理。在本文中,我们将深入探讨如何在C#中实现字符串反转,并通过实例代码来展示这一过程。 首先,我们需要了解C#中的字符串...
在编程领域,字符串反转是一个常见的操作,特别是在处理文本数据时。这个任务的目的是将一个给定的字符串中的字符顺序颠倒,例如将"abcdef"反转为"fedcba"。这在各种情境下都有应用,比如数据处理、文本分析或者简单...
### 字符串反转的N种方法:C#中的实践与探讨 #### 使用Array.Reverse方法 在C#中,`Array.Reverse`方法提供了一种简单直接的字符串反转方式。该方法实际上针对数组操作,将数组中的元素顺序进行反转。在字符串反转...
其中,字符串反转算法是书中讨论的一个重要主题,它涉及到了内存管理、时间复杂度优化以及算法设计等多个方面。下面我们将详细探讨这个最优性能效率最高的字符串反转算法。 首先,我们需要理解字符串反转的基本概念...
C# 字符串反转程序 指针的应用
在Java编程语言中,字符串反转是一个常见的操作,尤其在处理用户输入或数据处理时。本文将深入探讨如何在Java中实现字符串反转,并提供一个具体的示例来解释这一过程。 首先,我们要理解Java中的字符串是不可变对象...
字符串反转的小程序,经典的面试题目。题目中只是用了两个char型指针,较少的使用了系统资源。
字符串反转 C++做的小程序 简单的小作业
96.java字符串反转案例.zip96.java字符串反转案例.zip96.java字符串反转案例.zip96.java字符串反转案例.zip96.java字符串反转案例.zip96.java字符串反转案例.zip96.java字符串反转案例.zip96.java字符串反转案例.zip...
网上绝大部分java递归实现字符串反转缺少字符串判空条件,我加了上去。
本知识点将围绕如何进行字符串反转以及把整个字符串逆序来进行讲解。首先,字符串反转是编程中常见的问题,常常用于各类笔试和面试中。而字符串逆序则是在反转的基础上,进一步处理,让整个字符串的顺序完全颠倒。 ...
### 使用几种常见的方法实现字符串反转 #### 知识点一:使用`BufferedReader`实现字符串反转 在Java中,可以通过`BufferedReader`类从字符流中读取文本,并利用循环来实现字符串的反转。 1. **引入必要的包**: ...
本项目通过并发服务器实现了一个功能:字符串反转。接下来我们将详细探讨这一主题。 首先,我们要了解什么是服务器和客户端。在分布式系统中,服务器通常是指提供服务的一方,而客户端则是请求服务的一方。服务器端...
第一个程序使用了指针p1和p2来实现字符串的反转,首先将用户输入的字符串存储在数组a中,然后使用指针p1和p2来将字符串反转,并将反转后的字符串存储在数组b中。第二个程序定义了一个reverse函数,该函数使用指针p来...
在本篇中,我们将深入探讨如何在Java中实现字符串反转,特别是在处理多个字符串时。 首先,让我们从基本的字符串反转方法开始。Java提供了`StringBuilder`或`StringBuffer`类,它们是可变的字符序列,非常适合进行...
"ZIFUCHUAN.zip_字符串反转"这个压缩包文件显然与字符串反转功能有关,这可能是某个软件或程序的源代码,用于解决公司在笔试环节中可能会遇到的问题。字符串反转是一种常见的编程练习,涉及对字符序列进行倒序排列。...
### Python用递归实现字符串反转 #### 知识点概览 1. **递归的基本概念** 2. **Python中的递归函数实现** 3. **字符串处理与操作** 4. **递归在字符串反转中的应用** 5. **递归调用的深度限制问题** #### 递归的...
字符串反转函数是编程中常见的一种操作,特别是在面试和笔试中经常被用来测试候选人的基本编程技巧和理解能力。本文将详细讲解如何使用堆栈来实现一个可以处理中文和英文混合的字符串反转函数。 首先,我们需要了解...