您的位置:首页 > 编程语言 > Java开发

算法-蓝桥杯-算法训练 大小写转换 (JAVA)

2018-03-24 14:56 316 查看

1 引言

    大小写转换在编程过程中会经常遇到。

2 题目

问题描述
  编写一个程序,输入一个字符串(长度不超过20),然后把这个字符串内的每一个字符进行大小写变换,即将大写字母变成小写,小写字母变成大写,然后把这个新的字符串输出。
  输入格式:输入一个字符串,而且这个字符串当中只包含英文字母,不包含其他类型的字符,也没有空格。
  输出格式:输出经过转换后的字符串。
输入输出样例
样例输入
AeDb
样例输出
aEdB

3 源代码

import java.util.*;
class Main
{
public static void main(String[] agrs)
{
Scanner sc=new Scanner(System.in);
char[] ch=sc.nextLine().toCharArray();
for(int i=0;i<ch.length;i++)
{
if(ch[i]>='a'&&ch[i]<='z')
ch[i]=(char)(ch[i]-'a'+'A');
else if(ch[i]>='A'&&ch[i]<='Z')
ch[i]=(char)(ch[i]-'A'+'a');
System.out.print(ch[i]);
}
}
}

4 思路讲解

    首先定义一个char类型的数组,在使用sc.nextLine()方法输入时,要使用toCharArray()方法将输入的字符串转换字符数组。下面的工作就是判断数组中的字母的大小写,小写就转为大写,大写就转为小写。讲解“if”和“else if”的内容。ch[i]-'a'+'A'的作用是,如果是小写字母就减去‘a’的ASCII码加上大写“A”的ASCII码,结果就是小写字母对应的ASCII,前面加上“(char)”的作用是强制转换。举个例子,a=96,b=97,A=65,B=66(几个字母ASCII值)。当字母是‘b’时,97-96+65=66,66是字母‘B’的ASCII码。再经过强制转换,就是结果了。注意“if ...else if”语句的执行数序是如果if的条件为真,则执行if语句中的代码,如果为假就执行elseif语句。

5 结束语

    我讲明白了吗?
    分享和帮助是人生一大乐事,希望可以帮助您。本人才疏学浅,如果有不当之处,还请批评指正。同时欢迎大家评论、点赞及转发!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息