Java 如何旋转字符串,一次旋转一个字符?
我无法完成此模式的逻辑,我尝试了各种if-else语句 这是我正在执行的代码:Java 如何旋转字符串,一次旋转一个字符?,java,Java,我无法完成此模式的逻辑,我尝试了各种if-else语句 这是我正在执行的代码: import java.util.Scanner; public class String_pattern_01 { public static void main(String[] args) { Scanner sc= new Scanner(System.in); System.out.println("Enter the character in continuati
import java.util.Scanner;
public class String_pattern_01 {
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
System.out.println("Enter the character in continuation to get the pattern");
String s=sc.next();
int d=s.length();
String s2[]=s.split("");
for(int i=0;i<=s.length();i++)
{
String x= s.substring(i, d);
if(i>=1&i<d)
{
for(i=1;i<d;i++)
{String y=x+x.substring(0,i-1);
System.out.println(y);}
}
else
{
System.out.println(x);
}
}
}
}public static void mainString[]参数{
字符串输入=abcde;
List asList=input.chars
.mapToObje->char e
.mapString::valueOf
.toList;
对于int i=0;i可以简单地将代码简化为单个for循环:
循环在每次迭代中都会创建一个新字符串,方法是使用charAt0获取字符串的第一个字符,然后将其附加到跳过第一个字符的子字符串的末尾。请记住并仔细阅读。解释您需要执行的操作,尽可能详细地描述该操作,让不知道您正在执行的操作的人理解nds你在做什么。解释并展示你所做的,解释你所做的与你预期不符的原因,并谈论你已经尝试过的解决问题的方法。仅仅是一篇文章标题和一段代码不太可能让人们愿意花时间帮你找出问题所在。展示并简要解释预期的结果为什么。我已经清楚地写下了预期的输出。但是我的代码输出是这样的:abcde>bcde>cde>de>e。如何将前一个字符合并到前向模式中,以便每个模式都有相同的字符数。因此,您尝试打印字符串的所有排列,将前一个字母移到后一个,直到返回匹配的字符为止字符串?这个问题肯定可以用来解释期望的行为和当前的输出。
Scanner sc = new Scanner(System.in);
System.out.println("Enter the character in continuation to get the pattern");
String s = sc.next();
int d = s.length();
for(int i = 0; i < d; i++)
{
s = s.substring(1, d) + s.charAt(0);
System.out.println(s);
}
bcdea
cdeab
deabc
eabcd
abcde