对于我的 Java 作业,我需要创建一个返回字符串中第一个单词的脚本,并且作为第二部分,我还需要返回第二个单词。我目前正在研究第一部分,我认为我已经接近了,但我也想知道我的代码是否有点过于复杂。
public static void statements(){
Scanner userInput = new Scanner(System.in);
char [] sentenceArray;
String userSentence;
char sentenceResult;
System.out.print("Enter a complete sentence: ");
userSentence = userInput.nextLine();
for(int x = 0; x < userSentence.length(); x++){
sentenceResult = userSentence.charAt(x);
sentenceArray = new char[userSentence.length()];
sentenceArray[x] = sentenceResult;
if(sentenceArray[x] != ' '){
System.out.print(sentenceArray[x]);
//break; This stops the code at the first letter due to != ' '
}
}
}
我想我已经快明白了。目前,我需要开始工作的是 for 循环,一旦它识别出有空格就退出,但无论如何它都会打印出整个消息。我只是好奇这是否可以做得更简单一些,以及我可以做什么的提示,或者如何完成。
编辑:我能够使用 split 方法完成作业。这就是现在的样子
public static void statements(){
Scanner userInput = new Scanner(System.in);
String userSentence;
System.out.print("Enter a complete sentence: ");
userSentence = userInput.nextLine();
String [] sentenceArray = userSentence.split(" ");
System.out.println(sentenceArray[0]);
System.out.println(sentenceArray[1]);
}
}
最佳答案
由于这是你的作业,我很抱歉给你代码并为你解决它。
看来你确实把事情复杂化了,而且你也意识到了,所以这是个好兆头。
I need to create a script that returns the first word within a string, and, as a part two, I need to also return the second word
因此,您有一个 String
对象,然后检查自己的 methods 属于该类别。
用两行代码就可以解决这个问题,但是:
- 您必须了解 String 类的一种特殊方法,最有用的方法是可以以某种方式
分割
字符串的方法 - 您需要了解一些关于 java regular expressions 的知识- 单词之间用
空格
分隔
- 拆分
字符串
后,您应该得到一个数组,通过索引
访问第一个
和第二个
元素一个数组就足够了
关于java - 我是否使 Java 中的简单解决方案变得过于复杂?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45989774/