不使用length属性计算数组的长度

时间:2014-09-29 04:05:39

标签: java

我希望一旦我的异常被提出它就会破坏我的循环(使用break函数)& print i(数组的长度)

class Length{  
  static void length(String p){ 

    int i=0;
    try{
       while(i<=i){
         char ch=p.charAt(i);
         i++;
         System.out.println(ch);
    }


  }
  catch(Exception e){
     System.out.println(e);
  }

}
  public static void main(String s[]){ 

     String a=new String("jack");
     length(a);
  }
}

4 个答案:

答案 0 :(得分:3)

您可以按照以下方式更改代码

static int length(String p) {
    int i = 0;
    try {
        while (i <= i) {
            char ch = p.charAt(i);
            i++;
        }
    } catch (StringIndexOutOfBoundsException e) { // catch specific exception
      // exception caught here
    }
    return i; // now i is the length 
}


public static void main(String s[]) {
    String a = "jack";
    System.out.println(length(a));
}

Out put:

4

答案 1 :(得分:0)

class Length{  
  static void length(String p){ 

    int i=0;
    try{
       while(i<=i){
         char ch=p.charAt(i);
         i++;
         System.out.println(ch);
    }


  }
  catch(Exception e){
     System.out.println("String length is  : + " i)
    // System.out.println(e);
  }

}
  public static void main(String s[]){ 

     String a=new String("jack");
     length(a);
  }
}

答案 2 :(得分:0)

我认为您需要返回您计算的length(),并且可以通过从{{3}迭代String来使用char上的for-each运算符用类似

的东西
static int length(String p){ 
    if (p == null) return 0;
    int count = 0;
    for (char ch : p.toCharArray()) {
        count++;
    }
    return count;
}

答案 3 :(得分:0)

尝试使用以下应用程序来查找单词的长度

public class Length {

public static void main(String[] args) {
    new Length().length("Jack");

}

private void length(String word){
    int i = 0;
    char []arr = word.toCharArray();
    for(char c : arr){
        i++;
    }
    System.out.println("Length of the "+ word+ " is "+ i);
}

}