串的处理,(对字符串的理解)

在实际的开发工作中,对字符串的处理时最常见的编程任务,要求:
1:每个单词的首字母变为大写:
2:数字与字母之间用(_)分开
3:单词之间的多个空格调整为一个空格

import java.util.Scanner;

public class Main {
			public static void main(String[] args) {
				Scanner scan = new Scanner(System.in);
		        String pi= scan.nextLine();
		        
		        //用split可以处理任何字符串的分隔,真的很好用
		        String[] arr= pi.split(" +");
		       //循环每一个单词
		        for(int i=0;i<arr.length;i++) {
		        	
		        
		        	int k = arr[i].length(); //读取长度
		        	//循环单词中的每一个字符
		        	for(int j=0;j<k-1;j++) {   //注意这里的循环是到k-2,因为循环里面有j+1,
		        	//判断该字符是不是字母
		        	if(arr[i].charAt(j)>='a'&&arr[i].charAt(j)<='z') {
		        		if(j==0)       //第一个大写
		        			System.out.print((char)(arr[i].charAt(j)-32));
		        		else           //第一个不是字母的话直接打印
		        		System.out.print(arr[i].charAt(j));
		        		//判断该字母的下一个是不是数字,是的话打印“_”
		        		 if (arr[i].charAt(j+1)>='0'&&arr[i].charAt(j+1)<='9'){
		        			System.out.print("_");
						}
		        	}
		        	//如果不是字母,就是数字,先打印数字
		        	else {
		        		System.out.print(arr[i].charAt(j));
		        		
		        		//如果下一个是字母,打印下划线
		        		if(arr[i].charAt(j+1)>='a'&&arr[i].charAt(j+1)<='z') {
		        			System.out.print("_");
		        			}
		        		}
		        	}
		        	
		        	//打印单词的最后一个字符,并且对空格做了处理
		        	if(i!=arr.length)
		        	System.out.print(arr[i].charAt(k-1)+" ");
		        	else {
		        		System.out.print(arr[i].charAt(k-1));
					}
		        }
		        }
			}

  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值