首页 > 其他 > 详细

蓝桥杯准备

时间:2018-02-07 00:33:01      阅读:275      评论:0      收藏:0      [点我收藏+]
package lanQiao; import java.util.Scanner; import java.util.Vector; /** * 串的处理: * 本题目即是要求程序对用户输入的串进行处理,具体规则如下: * 1. 把每个单词的首字母变为大写。 * 2. 把数字与字母之间用下划线字符(_)分开,使得更清晰 * 3. 把单词中间有多个空格的调整为1个空格。 * @author 国真 * */ public class demo3 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String string = scanner.nextLine(); //得到按回车键前的所有字符 Vector<Character> vector = new Vector<Character>(); //new出一个只能存放char类型数据的数组 for(int i=0; i<string.length(); i++){ vector.add(string.charAt(i)); //string.charAt(i),从字符串中提取指定位置的字符 } int index = 0; while(index<vector.size()){ //遍历数组 if (index==0 && vector.elementAt(index)>=‘a‘ && vector.elementAt(index)<=‘z‘) { //让首字母大写 //vector.set()用指定的元素替换指定位置上的元素, vector.elementAt()返回指定位置上的元素 vector.set(index, (char) (vector.elementAt(index)-(‘a‘-‘A‘))); }else if (vector.elementAt(index-1)==‘ ‘ && vector.elementAt(index)==‘ ‘) { //移出多余的空格 vector.remove(index); index--; }else if (vector.elementAt(index-1)==‘ ‘ && (vector.elementAt(index)>=‘a‘ && vector.elementAt(index)<=‘z‘)){ //其他单词首字母大写 vector.set(index, (char)(vector.elementAt(index)-(‘a‘-‘A‘))); }else if ((vector.elementAt(index)>=‘a‘&&vector.elementAt(index)<=‘z‘) && (vector.elementAt(index-1)>=‘0‘&&vector.elementAt(index-1)<=‘9‘)) { //数字字母之间加_ vector.add(index, ‘_‘); index++; }else if ((vector.elementAt(index-1)>=‘a‘&&vector.elementAt(index-1)<=‘z‘) && (vector.elementAt(index)>=‘0‘&&vector.elementAt(index)<=‘9‘)) { //字母数字之间加_ vector.add(index,‘_‘); index++; } index++; } for (int i = 0; i < vector.size(); i++) { //打印数组中的元素 System.out.print(vector.elementAt(i)); } System.out.println(); } }

蓝桥杯准备

原文:http://blog.51cto.com/13416247/2069635

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!