黑马程序员技术交流社区
标题:
大小写转换
[打印本页]
作者:
一直很安静
时间:
2013-11-22 20:08
标题:
大小写转换
从键盘上读取一行数据可以通过字符转换流转成字符流 通过readline 方法可以读到这行数据 但是读到的是字符串 字符串只有把一行数据全变成大写或小写的功能 但是不能把其中大写变小写 小写变大写 谁可以提供个思路 单个字符有没有转换大小写的方法?
作者:
王裕秋
时间:
2013-11-22 20:37
把字符串中字符作判断,如果是大写,就转换成小写,如果是小写,就转换成大写
//如果是大写字符转换成小写
if (chAscii >= 'A' && chAscii <= 'Z')
{
ch[x] = (char)(chAscii - 'A' + 'a');
}
//如果是小写字母转换成大写
else if (chAscii >='a' && chAscii <= 'z')
{
ch[x] = (char)(chAscii - 'a' + 'A');
}
作者:
aion2013tian
时间:
2013-11-22 20:40
思路:
1、涉及到读写,首先创建读写流对象,因为是字符串,所以采用字符流br、bw
2、设计一个方法letterChange,将字符串中的字母进行大小写互转
(1)创建一个接收最终结果的字符串sb
(2)将字符串转换成字符数组char[] ch
(3)遍历数组并判断是不是小写字母,若是,则改变成大写并存入sb中
(4)判断是不是大写字母,若是,则改变成小写并存入sb中
(5)将不是字母的字符存入sb中
//判断是不是小写字母
if(ch[i] >= 'a' && ch[i] <= 'z'){
ch[i] -= 32;//小写字母比大写字母大32
sb.append(ch[i]);
//判断是不是大写字母
}else if (ch[i] >= 'A' && ch[i] <= 'Z') {
ch[i] += 32;//大写字母比小写字母小32
sb.append(ch[i]);
//不是字母的字符直接添加到sb中
}else
sb.append(ch[i]);
单个字符有转换大小写的方法,不过首先要将字符封装成字符对象,才能调用
作者:
段光宇
时间:
2013-11-22 21:53
思路:①从键盘接收一个字符串,需要用到输入流
* ②接收到字符串后有两种方法可以进行大小字母转换,
* 第一种利用Character类自带函数逐字符判断字符类型进行转换并输出
* 第二种利用大小写字母范围逐字符判断字符类型后对字符加或减32转换字符并输出。
两种办法:
1、
for(int i=0;i<s.length();i++) {
char c=s.charAt(i);//字符串中取得具体字符
if(Character.isUpperCase(c)) {
sb.append(Character.toLowerCase(c));
}//若用isUpperCase判断字符为大写字母,则利用toLowerCase将其转换为小写字母
else if(Character.isLowerCase(c)) {
sb.append(Character.toUpperCase(c));
}//若用isLowerCase判断字符为小写字母,则利用toUpperCase将其转换为大写字母
else if(Character.isDigit(c)) {
sb.append(c);
}//若用isDigit判断字符为数字,则保持不变
else {
sb.append(c);
}//其他字符保持不变
}
return sb.toString();//返回字符串
复制代码
2、
for(int i=0;i<s.length();i++) {
char c=s.charAt(i);//字符串中取得具体字符
if(c>='A'&&c<='Z') {
c+=32;
sb.append(c);
}//若判断字符为大写字母,则将其+32转换为小写字母。ASCII码中,大写字母比小写字母的数值小32
else if(c>='a'&&c<='z') {
c-=32;
sb.append(c);
}//若判断字符为小写字母,则将其-32转换为大写字母。ASCII码中,小写字母比大写字母的数值大32
else {
sb.append(c);
}//其他字符保持不变
}
复制代码
作者:
简★零度
时间:
2013-11-22 22:18
* 分析:
* 1.键盘录入字符串
* 2.遍历获取每一位字符,
* 3.小写转成大写。
*5.大写转小写
*
*
*/
public class Demo2 {
public static void main(String[] args) {
//键盘录入
Scanner sc=new Scanner(System.in);
System.out.println("请输入字符串(只可包含字母和数字):");
String s=sc.nextLine();
//遍历得到每一位字符
for(int x=0; x<s.length(); x++){
char ch = s.charAt(x);
//小写转成大写
if(ch>='a' && ch>='c'){
ch=Character.toUpperCase(ch);
System.out.print(ch);
//大写转小写
}else if(ch>='A'&&ch<='Z'){
ch=Character.toLowerCase(ch);
System.out.print(ch);
}
}System.out.println();
}
}
复制代码
我记得你问了好几遍了
作者:
likeermei
时间:
2013-11-23 16:03
遍历你的字符串。感觉正则表达式,判断每个字符的大小写,然后在相应的转换。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2