m0_62927409 2023-01-04 22:20 采纳率: 81%
浏览 29
已结题

关于#java#的问题,请各位专家解答!

请自行编写一个计算字符电长度的方法 int myStringLength ( String s ),要来不能使用 Java 类库提供的 length ()方法,并在 main 方法中来测试该方法。

import java.util.Scanner;
public class changdu {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner in = new Scanner(System.in);
        String s=in.next();
        int a=myStringLength(s);
        System.out.println(a);

    }
    public static int myStringLength(String s) {
        char[] sr=s.toCharArray();
        int count=0,a=0,b=0,c=0;
        char [] st=s.toCharArray();
        for(int i=0;i<10;i++) {
            if((st[i]>='a' && st[i]<='z' )||(st[i]>='A' && st[i]<='Z')) {
                a++;
            }
            if(st[i]==' ') {
                b++;
            }
            if(st[i]>='0' && st[i]<='9') {
                c++;
            }
        }
        return a+b+c;
    }

}

我这个运行会报错,
或者这有没有更好的写法

  • 写回答

1条回答 默认 最新

  • Monin Liao 2023-01-04 22:46
    关注

    for each循环试一下;使用char c变量进行:

    for (char c: st) {
    

    条件判断的st[i]全改变量c。望题主采纳
    报错的原因是因为循环的条件固定在了i<10,但可能有些字符串长度小于10,就会报错

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 1月12日
  • 已采纳回答 1月4日
  • 创建了问题 1月4日

悬赏问题

  • ¥15 如何在node.js中或者java中给wav格式的音频编码成sil格式呢
  • ¥15 不小心不正规的开发公司导致不给我们y码,
  • ¥15 我的代码无法在vc++中运行呀,错误很多
  • ¥50 求一个win系统下运行的可自动抓取arm64架构deb安装包和其依赖包的软件。
  • ¥60 fail to initialize keyboard hotkeys through kernel.0000000000
  • ¥30 ppOCRLabel导出识别结果失败
  • ¥15 Centos7 / PETGEM
  • ¥15 csmar数据进行spss描述性统计分析
  • ¥15 各位请问平行检验趋势图这样要怎么调整?说标准差差异太大了
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题