JAVA——字符转换

1.要求:编写一个Java程序,将用户输入的句子当中每一个单词的第一个字母大写,而单词中的其余字母小写

2.第一步先将字符串中的其他的符号全部都转化称为空格,第二步按照空格将每一个单词分离出来,第三步判断每一个单词的第一个是不是字母,如果是的话就转化为大写,然后再判断其他的字母是不是大写,如果是大写就转化成为小写字母。

public class Converter{
    public static String[] words = new String[20];
    public static String convert(String value) {
        StringBuffer upAfter = new StringBuffer(value.length());
        char aCharacter;
        value = value.replaceAll("[\\pP‘’“”]", " ");//将其他的符号都转化为空格
        words = value.split(" ");//按照空格将每个单词分离称为字符数组
        for (int i = 0;i < words.length; i++)
        {
            for(int j = 0;j < words[i].length(); j++) {
                aCharacter = words[i].charAt(j);
                if (j==0) {
                    //判断是不是字母
                    if(Character.isLetter(aCharacter)) {//转化为大写字母
                        upAfter.append(Character.toUpperCase(aCharacter));
                    }
                    else {
                        Character.toUpperCase(aCharacter);
                    }
                }
                else {
                    //如果是大写字母就直接转成小写字母
                    if(Character.isLetter(aCharacter) && Character.isUpperCase(aCharacter)) { 
                            upAfter.append(Character.toLowerCase(aCharacter)); 
                    }
                    else {
                        upAfter.append(words[i].charAt(j));
                    }
                }
            }
            upAfter.append(" ");
        }
        return new String(upAfter);
    }
}

3.然后主函数里面要注意类里面convert用的字符串,而不是字符数组

import java.util.Scanner;
public class convertmain {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc=new Scanner(System.in);
        String [] work=new String[200];
        for(int i=0;i<work.length;i++) {
            String test=sc.next();
            work[i]=test;
            Converter c1=new Converter();
            System.out.print(c1.convert(test));
        }
    }
}

4.实验结果

posted @ 2020-10-25 20:40  ....陈陈陈陈  阅读(503)  评论(0)    收藏  举报