我对Java上的方法有问题,能给我一些建议吗?
我的任务是将输出句子中最长单词的程序拆分为同一类中的多个方法。我不断尝试不同的方法,但似乎都不管用。有人能帮我吗? 以下是节目:
import java.util.Scanner;
public class Test{
public static str getUserInput(Scanner sc) {
System.out.print("Enter a string or sentence: ");
// Return the string inputted by the user
return sc.nextLine();
return str;
}
public static void getlongestWord(str) {
Scanner str2 = new Scanner(str);
//Initialise longestWord with the first word in str
String longestWord = str2.next();
//Initiaise maxlen with length of first word in str
int maxlen = longestWord.length();
while(str2.hasNext()) //This loop will keep running till words are present
{
String word = str2.next(); //Storing next word in variable
int len = word.length(); //Storing word's length
if(len>maxlen) //If this length is more than maxlen, longestWord and maxlen are changed
{
longestWord = word;
maxlen = len;
}
}
return longestWord;
return maxlen;
}
int longestWord;
int maxlen;
public static void getOutput (int longestWord) {
System.out.println("The longest word is '" + longestWord );
}
public static void getOuput2 (int maxlen){
System.out.println ("of length "+maxlen+" characters.");
}
}
# 1 楼答案
一种简单的方法是在空白处拆分字符串,然后迭代生成的数组以查找最长的单词。要查找最长的单词,可以先假设第一个单词最长,然后将其存储在变量(例如
String longestWord
)中,并且每当遇到比该单词长的单词时,就用该单词替换存储的单词输出:
# 2 楼答案
我在您的代码中留下了一些注释:
我也写了我自己的版本,你正在尝试做什么:
我的解决方案决不是一个完美的解决方案,因此您可以继续了解我所做的更改,然后实施您自己的更改。 记住:每个类和方法只应该负责一件事