黑马程序员技术交流社区

标题: 把一个字符串偶数为变成小写,奇数为变成大写 [打印本页]

作者: zapoo    时间: 2016-2-18 18:08
标题: 把一个字符串偶数为变成小写,奇数为变成大写
[code]package com.day12;

import java.util.Scanner;

public class Test4 {

捕获2.PNG (2.3 KB, 下载次数: 9)

运行结果

运行结果

作者: zapoo    时间: 2016-2-18 18:10
[code]import java.util.Scanner;

public class Test4 {

        /**
         *        需求:输入一个字符串实现:
         *          1.把偶数位置的字符转成小写
         *          2.把奇数位置的字符转成大写
         *  
         *                 分析:创建输入对象,然后把输入的字符串变成字符数组遍历,在遍历之前,创建一个字符串缓冲池,用来
         *                         保存变化后的字符,最后输出来
         *                
         *                 1.创建键盘录入对象
         *                 2.把录入的String变成字符数组
         *                 3.创建字符串缓冲池
         *                 4.遍历字符床数组,在遍历过程中有一系列判断,在满足条件时,对字符进行相应的操作
         *                                 A.首先对偶数为进行操作
         *                                         a.如果偶数位上的字符本来就是小写字符,不变,直接添加到缓冲池中
         *                                         b.如果偶数位上的字符本来就是大写字符,改变,然后添加到缓冲池中
         *                                 B.首先对奇数为进行操作
         *                                         a.如果偶数位上的字符本来就是大写字符,不变,直接添加到缓冲池中
         *                                         b.如果偶数位上的字符本来就是小写字符,改变,然后添加到缓冲池中
         *                                         
         */
        public static void main(String[] args) {
               
                //1.创建键盘录入对象
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入一个字符串");
                String line = sc.nextLine();
               
                //2.把录入的String变成字符数组
                char[] arr = line.toCharArray();
               
                //3.创建字符串缓冲池
                StringBuilder sb = new StringBuilder();
               
                //4.遍历字符床数组
                for (int i = 0; i < arr.length; i++) {
                        //A.首先对偶数为进行操作
                        if(i % 2 == 0) {
                                if(arr[i] >= 'a' && arr[i] <= 'z') {
                                        sb.append((char)(arr[i] - 32));
                                }else {
                                        sb.append((char)arr[i]);
                                }
                        }
                       
                        //B.首先对奇数为进行操作
                        else {
                                if(arr[i] >= 'A' && arr[i] <= 'Z') {
                                        sb.append((char)(arr[i] + 32));
                                }else {
                                        sb.append((char)arr[i]);
                                }
                        }
                }
                System.out.println(sb);
        }

}
代码没粘贴完整




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2