【问题标题】:how do I determin the length of a char list filled with Strings without using ANY String methods and NO imports如何在不使用任何字符串方法且不导入的情况下确定填充字符串的字符列表的长度
【发布时间】:2020-03-26 12:12:00
【问题描述】:

我有一个这样的数组:

MyString str = new MyString(new char[]{'a','b','c','d'});

MyString 对问题很重要。

这是我迄今为止尝试过的:

 public int length()
 {


String s = ""; 

for (int i = 0; i<data.length; i++)
 s = s+data[i];

data 包含包含字符串的列表。

 int i = 0; 
 try 
 {

 for(i=0; ; i++)
 {
   s.charAt(i);
 }

 }
 catch(Exception e)
 {

 }

return  i;

}

我正在使用的这种方法有效,但使用了charAt(i);这是不允许的。我怎么能根据我的问题中的规则尝试这个?

--> expected output: str.length(); // 6 

【问题讨论】:

  • 如果你有一个字符数组,为什么不直接使用数组的长度呢?一些更好的解释会有所帮助。但是如果不使用 String 方法,您将无法找到字符串的长度。您需要调用方法String.toCharArray() 从字符串中获取数组。为什么只有 4 个字符时长度是 6?

标签: java list function string-length


【解决方案1】:

您可以捕获数组越界异常。

      char[] a = { 'a', 'b', 'c', 'd', 'e'
      };

      int length = -1;
      try {
         for (;;) {
            char c = a[++length];
         }
      }
      catch (ArrayIndexOutOfBoundsException ae) {
      }
      System.out.println("length = " + length);

注意:这不是使用异常的好方法。正如我之前所说,如果你有数组,那么只需使用array.length

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-22
    • 2015-07-17
    • 2018-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多