如何在不使用length()方法的情况下在Java中查找字符串的长度
面试问题之一是“如何在不使用length()方法的情况下在Java中查找字符串的长度。”
有很多方法可以 查找字符串的长度。他们之中有一些是 :
使用toCharArray是最简单的解决方案。
使用toCharArray
逻辑
- 使用toCharArray方法将字符串转换为char数组
- 遍历char数组和递增长度变量。
程序
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
类 LenghtOfStringMain{ 上市 静态的 虚空 主要(串 args[]){ 串 你好世界=“这是你好世界”; 系统.出.打印(“ 你好世界字符串的长度:”+getLengthOfStringWithCharArray(你好世界)); } 上市 静态的 整型 getLengthOfStringWithCharArray(串 力量) { 整型 长度=0; 烧焦[] 力量CharArray=力量.toCharArray(); 对于(烧焦 c:力量CharArray) { 长度++; } 返回 长度; } |
当您运行上述程序时,将得到以下输出:
1 2 3 |
长度 的 你好世界 串 :19 |
使用StringIndexOutOfBoundsException
You must be wondering how we can use
串IndexOutOfBoundsException
to 查找字符串的长度 without using 长度() method. Please refer below logic :逻辑
- Initialize
i
with0
and iterate over 串 without specifying any condition. So it will be always true. - Once value 的
i
will be more than 长度 的 串, it will throw串IndexOutOfBoundsException
例外. - We will
抓住
the 例外 and 返回 i after coming 出 的抓住
block.
程序
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
类 LenghtOfStringMain{ 上市 静态的 虚空 主要(串 args[]){ 串 你好世界=“这是你好世界”; 系统.出.打印(“ 你好世界字符串的长度:”+getLengthOfString(你好世界)); } 上市 静态的 整型 getLengthOfString(串 力量) { 整型 i=0; 尝试{ 对于(i=0;;i++) { 力量.字符(i); } } 抓住(例外 e) { } 返回 i; } |
当您运行上述程序时,将得到以下输出:
1 2 3 |
长度 的 你好世界 串 :19 |
请通过 爪哇面试程序 对于更多这样的程序和 爪哇核心面试题 了解更多面试问题。
那’s all about 如何在不使用length()方法的情况下在Java中查找字符串的长度。
Comments
HI Arpit
您的博客真的很好。我们也可以通过如下递归来实现。
上市 整型 长度(String s){
整数l = 0;
/ *等同于空字符串* /
如果(s.equals(“”)) {
返回0;
}
整型索引= 0;
l =长度(s.substring(index + 1))+1;
返回l;
}
好的逻辑