java - 使用 indexOf 计算单词
问题描述
我不能使用数组,只能使用简单的 Java ( if
, for
, while
, substring
, length
, indexOf
)
public int howManyWords(String s){
myString = "I have a dream";
int count = 1;
int length = 0;
while(count>=0){
count = myString.substring(String.valueOf(length),myString.indexOf(" "));
count++;
length = myString.indexOf(" ");
}
return count;
}
应该返回 4
解决方案
首先,你做了无限循环,因为count
is 1
,你只是增加它。
其次,您甚至没有尝试在某些 IDE 中编写此代码,因为它会引发语法错误,因为您正在分配string
,int
当您这样做时count = myString.substring()
因此,count
您可以使用而不是在循环中使用myString.indexOf
如果您不在乎会发生什么,这样的事情可能会起作用myString
int count = 0;
while(myString.indexOf(" ") >= 0) {
count++;
myString = myString.substring(myString.indexOf(" ") + 1)
}
return count;
推荐阅读
- c++ - MPI 和移动语义
- python - 使用 Colab 笔记本在我们的谷歌驱动器中获取文件的可共享链接
- python - Argparse:具有可变参数的选项的可选参数
- python - Python中路径中的空格
- r - 计算矩阵被积函数 R 中的多维积分
- php - 如何仅使用 if/elseif 语句检查(虚构的)商店在特定时间之间是打开还是关闭?
- kubernetes - 在 Kubernetes 集群中按进程收集资源使用情况
- javascript - 在本机反应中单击按钮时更改状态
- java - 仅使用 api 26 的 fcm 通知崩溃
- docker - 如何在 GCP 上同时部署前端 Angular 应用和后端 Django 应用?