【发布时间】:2016-01-07 14:05:17
【问题描述】:
代码:
String one, two, three,four, five,six,seven,eight;
Scanner kbrd = new Scanner(System.in);
System.out.println("please enter a phrase, and then pick three words that you want to switch");
one= kbrd.nextLine();
two= kbrd.next() +" ";
three = kbrd.next()+" ";
four = kbrd.next()+ " ";
two.toLowerCase();
three.toLowerCase();
four.toLowerCase();
seven = two+three+four;
System.out.println(one.indexOf(two));
System.out.println(one.lastIndexOf(four));
five = four.toUpperCase()+three+two.toUpperCase();
System.out.println(five);
eight = one.replace(seven.trim(),five.trim());
System.out.println(eight)
它可以工作,但是当有人输入第二个用户输入的名称为 George 时,它不会重新排列单词 GEORGE IS NAME。如果两个用户输入是我的名字是乔治,它就可以工作。名字是乔治。任何想法如何解决这一问题?我的理论是它在原始句子中找不到它,因此它不知道要替换什么,因为它要替换的内容不在原始句子中。
【问题讨论】:
-
你可以使用 collections.shuffle !洗牌!
-
这可能有效,但我真的很想使用基本的字符串命令来解决这个问题。而且我不知道如何使用随机播放哈哈。
-
请发MCVE,我猜你昨天解决了original question。请更清楚您的实际问题是什么,因为这有点令人困惑(至少对我而言)。
-
您能否提供一些示例输入和所需的输出?我不完全确定您要达到的目标。只是从一个短语中取出 3 个单词并颠倒它们的顺序吗? (例如“1 2 3 4 5”>“1 4 3 2 5”)
标签: java string search uppercase