输入一个字符串,然后讲该字符串循环右移4位
例如输入abcdefgh
则输出efghabcd
下面有两个方法,第一个是将字符串转换为一个字符数组char[ ];然后循环复制替换
import java.util.*;
class Move
{
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
String str=sc.next();
char[] rt=new char[str.length()];
for(int i=0;i<str.length();i++)
rt[i]=str.charAt(i);
for(int i=0;i<str.length();i++)
{
if(i>str.length()-5)
rt[(i%4)]=str.charAt(i);
else rt[i+4]=str.charAt(i);
}
System.out.println(rt);
}
}
下面是第二个方法,用StringBuilder的replace方法依次传入参数start,end,replacement
import java.util.*;
class Move
{
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
String str=sc.next();
StringBuilder sb=new StringBuilder(str);
for(int i=0;i<str.length();i++)
{
if(i>str.length()-5)
sb.replace(i%4,(i%4)+1,new String(new char[]{str.charAt(i)}));
else
sb.replace(i+4,i+5,new String(new char[]{str.charAt(i)}));
}
System.out.println(sb);
}
}
如果阁下想用String的replace方法,经过实验是不可行的,因为String的replace方法只会将一部分替换,无法向StringBuilder那样将整个字符串都改变。
分享到:
相关推荐
将一个字符串循环右移的三种方法, 第一种:逐个右移;第二种,调用strcpy()函数;第三种,调用memcpy()函数
编写一个函数,作用是把一个char组成的字符串循环右移n个。比如原来是“abcdefghi”如果n=2,移位后应该是“hiabcdefgh” 函数头是这样的: //pStr是指向以'\0'结尾的字符串的指针
题目描述:将长度为N的数组arr循环右移K位,给出最高效的算法 //最高效的循环右移算法!! //这个是递归的写法 //author:tengzhao201 QQ:715572192 //time:2010-4-24 //时间复杂度为O(n),空间复杂度O(1),交换点在...
关于最高效的循环右移算法的课程设计 题目描述:将长度为N的数组arr循环右移K位,给出最高效的算法 里面公开了相对应的课程设计和源代码
字符串循环左移算法问题描述:暴力法利用三次翻转巧妙实现 问题描述: 给定一个字符串s[0…n-1],要求将s的前k个字符移动到字符串s的尾部。 举个栗子:将字符串“HelloWorld”的前5个字符移动到字符串的尾部,即要...
给定一个字符串S[0…N-1],要求把S的前k个字符移动到S的尾部,如把字符串“abcdef”前面的2个字符‘a’、‘b’移动到字符串的尾部,得到新字符串“cdefab”:即字符串循环左移k位。 循环左移k位等价于循环右移n-k位...
最新单片机仿真 用LCD循环右移显示Welcome to China最新单片机仿真 用LCD循环右移显示Welcome to China最新单片机仿真 用LCD循环右移显示Welcome to China最新单片机仿真 用LCD循环右移显示Welcome to China最新...
参考清华大学的《算法设计与分析》课后的习题,输入两个字符串后输出其编辑距离。
主要内容 需要掌握的内容 字符串循环左移 LCS最长递增子序列 字符串全排列 递归、非递归 KMP Huffman编码 需要了解的内容 Manacher算法 BM算法 数据结构-字符串全文共87页,当前为第3页。 字符串循环左移 4/88 给定...
经典字符串匹配算法的本质都是从左向右或者从右向左顺序进行字符匹配的,在主串中存在大量子串与模式串前缀或者后缀相同时效率较低,并且模式串最大右移长度为模式串长度。改进算法采用二分匹配字符串的方法,有效地...
348-用LCD循环右移显示Welcome to China(51单片机C语言实例Proteus仿真和代码)348-用LCD循环右移显示Welcome to China(51单片机C语言实例Proteus仿真和代码)348-用LCD循环右移显示Welcome to China(51单片机C语言...
下面小编就为大家带来一篇java字符串的大写字母右移实现方法。小编觉得听不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
1087方阵循环右移.cpp
数组循环右移代码,PAT原题,复杂度小很多
11-LED循环右移(51单片机C语言实例Proteus仿真和代码)11-LED循环右移(51单片机C语言实例Proteus仿真和代码)11-LED循环右移(51单片机C语言实例Proteus仿真和代码)11-LED循环右移(51单片机C语言实例Proteus仿真和代码)...
数据结构教程(JAVA语言描述) 设计一个算法,将含有n个整数元素的数组a[0..n-1]循环右移m位,要求算法的空间复杂度为O(1)
在C语言中,用简单的逻辑实现32位数的循环右移
41-数码管循环右移(51单片机C语言实例Proteus仿真和代码)41-数码管循环右移(51单片机C语言实例Proteus仿真和代码)41-数码管循环右移(51单片机C语言实例Proteus仿真和代码)41-数码管循环右移(51单片机C语言实例...
42-数码管循环右移2(51单片机C语言实例Proteus仿真和代码)42-数码管循环右移2(51单片机C语言实例Proteus仿真和代码)42-数码管循环右移2(51单片机C语言实例Proteus仿真和代码)42-数码管循环右移2(51单片机C语言实例...
41-数码管循环右移1(51单片机C语言实例Proteus仿真和代码)41-数码管循环右移1(51单片机C语言实例Proteus仿真和代码)41-数码管循环右移1(51单片机C语言实例Proteus仿真和代码)41-数码管循环右移1(51单片机C语言实例...