蓝桥杯:P0203字符统计

该博客介绍了一个Java程序,用于统计输入字符串中空格、换行符和其他字符的个数,直到遇到'#'字符为止。程序通过Scanner类读取输入,并使用split方法处理字符串,最终输出各类型字符的计数。

蓝桥杯:P0203字符统计

编写一个程序,不断输入字符直到遇到’#’为止。然后输出读入的空格’ ’,换行符’\n’和其它字符个数。
输入
  Chapter 1. Getting Ready
  Chapter 2. Introducing C
  Chapter 3. #
输出
  8 2 51

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        int blankCount=0;//空格
        int lineBreak=0;//换行符
        int otherCount=0;//其他字符
        while (true){
            String str=null;//每次循环都初始化
            str=input.nextLine();//输入一行,按回车键,进入下一行
            lineBreak++;//换行,回车
            //进入下一行输入前的所有分析
            /*
            * 此处可以用str.substring(start,end)不用把串变成数组
            * 也可用str.charAt(i)
            * 串不变成数组就不用东西空数组的干扰
            * */
            //String []string=input.nextLine().split("");
            String []string=str.split("");//把串变成数组,个人习惯
            int i=0;//每次循环都初始化
            while (i<string.length){
                if (" ".equals(string[i])){//空格加一
                    blankCount++;
                }else if ( !"".equals(string[i])){//防止空数组影响
                    otherCount++;//其它字符加一
                }
                if ("#".equals(string[i])){//相等 返回,其中#不属于其它字符,已结束,也不算回车,otherCount需减一,lineBreak也减一
                    System.out.println(blankCount+" "+(lineBreak-1)+" "+(otherCount-1));
                    return;
                }
                i++;
            }
        }
    }
}

想法来源于同学!!!我同学老牛逼了

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只代码小白啦啦啦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值