以下是程序必须遵循的规则:
字符串
中的每个单词都必须被拆分为n个
字母,并从一开始就反转它们n
例如,如果string=“吸引力定律”
并输入n=3
。这里,的长度小于n,因此不能颠倒,但定律和引力的长度大于或等于3,因此必须颠倒为
法律为wal
和吸引力为ttacaroitn
最终输出:ttacaroitn的wal
在我给定的代码中,我只能反转字符串,但不能根据输入数字反转单词。不知道。
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
System.out.println("Enter String: "+str);
Scanner sc1 = new Scanner(System.in);
int Digit = sc.nextInt();
int count = str.split("\\s+").length;
System.out.println("No.of words: "+count);
System.out.println("Given string: "+str);
if(Digit<=count) {
String s[] = str.split(" ");
String ans = "";
for (String part : str.split(" ")) {
System.out.print(new StringBuilder(part).reverse().toString());
System.out.print(" ");
}
}
else {
System.out.println("Your input Digit is Greater than count of words.");
}
方法逆转SubString将在每个n
字符之后拆分单词。然后将其反转。
public static void main(String[] args){
String line = "law of attraction";
int n = 3;
String[] words = line.split(" ");
for(String word: words){
if(word.length()>=n){
System.out.print(reverseSubString(word, n)+" ");
} else {
System.out.print(word + " ");
}
}
}
public static String reverseSubString(String s, int n) {
String ans = "";
String[] substrings = s.split("(?<=\\G.{"+n+"})");
for(String substring : substrings){
if(substring.length()==n)
ans += new StringBuffer(substring).reverse().toString();
else
ans += substring;
}
return ans;
}
输出
ttacaroitn的墙
您正在使用if(数字
if(Digit<=count) {
String s[] = str.split(" ");
String ans = "";
for (String part : str.split(" ")) {
System.out.print(new StringBuilder(part).reverse().toString());
System.out.print(" ");
}
}
您应该检查拆分内部循环后每个单词的长度,并在大于或等于n时进行相反的操作。
String s[] = str.split(" ");
for (String part : s) {
// here to check
if(part.size() >= Digit){
part = new StringBuilder(part).reverse().toString();
}
System.out.print(part);
System.out.print(" ");
}
问题内容: 我的代码中有一个小问题。我正在尝试反转单词和字符串的字符。例如,“狗跑了”将变成“ ehT神纳尔” 该代码几乎可以正常工作。它只是不添加空格。你会怎么做? 问题答案: 您走在正确的轨道上。主要问题是一个空字符串,而不是一个空格(即使您解决了这个问题,您可能也不想在最后一个单词之后留一个空格)。 这是您可以更简洁地执行此操作的方法:
问题内容: 我要扭转各个人在Java中的String(不是整个字符串,只是每个人的字)的字。 示例:如果输入String为“ Hello World”,则输出应为“ olleH dlroW”。 问题答案: 这应该可以解决问题。这将遍历源字符串中的每个单词,使用StringBuilder的内置方法将其反转,然后输出反转的单词。 输出: 注意:评论者正确地指出了一些我认为应该在此处提及的内容。本示例将
问题内容: 我需要反转用户输入的字符串。 我需要用最简单的方法完成它。我正在尝试做reverseOrder(UserInput),但是没有用。 例如,用户输入abc,我只是获取字符串并打印出cba 问题答案: 用于按正常顺序反向排序。
问题内容: 是否可以在Swift中将字符串的每个单词放入数组中? 例如: 至: 谢谢 :) 问题答案: 编辑/更新: Xcode 10.2•Swift 5或更高版本 我们可以使用集合拆分方法进行扩展 设置为true并通过闭包作为谓词。我们还可以利用new 属性来分割字符串。
问题内容: 目的: 在Golang中的字符串中每x个字符插入一个字符 输入: 预期产量: 尝试次数 尝试一次 结果是: 尝试两次 计算字符数 对于循环 如果X = 5,则插入一个 尝试三 扫描结合加入 问题 目前尝试两次和三次不包含代码段的原因是,我仍在思考应该使用哪种方法在Golang中的字符串中每X个字符插入一个字符。 问题答案: https://play.golang.org/p/HEGbe
问题内容: 我有一个字符串中的单词列表: 我想扭转它以获得 我该怎么做? 问题答案: 您可以使用以下方法: