这是整个问题的SS。 http://prntscr.com/1dkn2e 它应该适用于任何句子而不仅仅是示例中给出的句子 我知道它必须用字符串做一些事情。我们的教授已经完成了这些字符串方法 http://prntscr.com/1dknco
这只是一个基本的java类,所以不要使用任何复杂的东西 这就是我所拥有的,不知道在此之后该怎么做 任何帮助将不胜感激。
public static void main(String[] args)
{
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter a line of text. No punctuaton please");
String sentence = keyboard.nextLine();
System.out.println(sentence);
}
}
答案 0 :(得分:2)
您可以使用public String[] split(String regex):
splitted = sentence.split("\\s+");
splitted[0]
是第一个字。splitted[splitted.length - 1]
是硬道理。由于你不允许使用String#split
,你可以这样做:
myString = myString.substring(0, myString.lastIndexOf(" ")) + firstWord;
通过这样做,您将拥有一个substring,其中包含没有最后一个单词的句子。 (要提取第一个单词,您可以使用String#indexOf。
firstWord
是你之前提取的第一个词(我不会为你解决整个问题,尝试自己做,现在应该很容易)
答案 1 :(得分:0)
好像你正在寻找非常简单的字符串算术。 所以这是我能做的最简单的事情:
// get the index of the start of the second word
int index = line.indexOf (' ');
// get the first char of the second word
char c = line.charAt(index+1);
/* this is a bit ugly, yet necessary in order to convert the
* first char to upper case */
String start = String.valueOf(c).toUpperCase();
// adding the rest of the sentence
start += line.substring (index+2);
// adding space to this string because we cut it
start += " ";
// getting the first word of the setence
String end = line.substring (0 , index);
// print the string
System.out.println(start + end);
答案 2 :(得分:0)
试试这个
String str = "Java is the language";
String first = str.split(" ")[0];
str = str.replace(first, "").trim();
str = str + " " + first;
System.out.println(str);
答案 3 :(得分:-1)
这是另一种可以做到这一点的方法。 更新:没有循环
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter a line of text. No punctuaton please");
String sentence = keyboard.nextLine();
System.out.println(sentence);
int spacePosition = sentence.indexOf(" ");
String firstString = sentence.substring(0, spacePosition).trim();
String restOfSentence = sentence.substring(spacePosition, sentence.length()).trim();
String firstChar = restOfSentence.substring(0, 1);
firstChar = firstChar.toUpperCase();
restOfSentence = firstChar + restOfSentence.substring(1, restOfSentence.length());
System.out.println(restOfSentence + " " + firstString);
keyboard.close();