我是 Java 的初学者,我正在创建这个程序来输出字符串中最大的单词。这是我的程序;public static void main(String[] args) { int largest=0; String Banana= new String("It is my phone"); System.out.println("Results are;"); for (String retval: Banana.split(" ")) { for(int i=0; i<retval.length(); i++) { if(i>largest); { largest=i; System.out.println(retval); } } }}当我调试我的程序时,它给了我输出It It is is my my Phone Phone Phone Phone Phone有人可以告诉我我需要修复什么吗?我不希望它打印“它”和“是”和“电话”应该只打印一次。
3 回答
阿波罗的战车
TA贡献1862条经验 获得超6个赞
您需要将最大的单词保留在变量中并将其打印在循环之外。您还需要;从if(i > largest)
public static void main(String []args) {
int largest = 0;
String largestWord = "";
String banana = new String("It is my phone");
System.out.println("Results are;");
for (String retval: banana.split(" ")) {
for(int i = 0 ; i < retval.length() ; i++) {
if(i > largest) {
largest = i;
largestWord = retval;
}
}
}
System.out.println(largestWord);
}
作为旁注,变量应以小写开头Banana->banana
吃鸡游戏
TA贡献1829条经验 获得超7个赞
您不需要嵌套循环。
只需使用第一个循环(遍历所有单词)并存储迄今为止在每次迭代中找到的最长单词。
对于 Java 的更高级用法,请尝试使用 Stream API:
Optional<String> longestWord= Arrays.stream("It is my phone".split(" ")) .max(Comparator.comparing(String::length));
添加回答
举报
0/150
提交
取消