黑马程序员技术交流社区
标题:
求助
[打印本页]
作者:
微笑=.一瞬间
时间:
2014-4-7 22:50
标题:
求助
学长们 本人写了个 程序 。程序需求是 从键盘输入一字符串 把字符串中的小写字符转换成大写,大写转换成小写:程序代码如下 那血好心的学长或者学姐帮忙优化下程序。谢谢
import java.util.Scanner;
public class Text6 {
public static void main(String[] args) {
System.out.println("请输入一字符串");
Scanner scanner=new Scanner(System.in);
String s=scanner.nextLine();
System.out.println("转换后的字符串是:");
char[] ss=translate(s);//将转化后的数组存放到ss中
putArr(ss);//输出转换后的数组
}
/**
translate(String s)方法将键盘上输入的字符串s
*/
public static char[] translate(String s){
char[] ch=s.toCharArray();
for(int i=0;i<ch.length;i++){
if(ch[i]==32|| isShu(ch[i])){
//如果ch[i]是空格或者是数字字符将continue语句跳出本次循环
continue;
}
if(ch[i]<97){
ch[i]=(char) (ch[i]+32);
}
else if(ch[i]>=97){
ch[i]=(char) (ch[i]-32);
}
}
return ch;
}
/*
isShu(char a)方法是用来判断a是否是0-9的数字字符串
*/
public static boolean isShu(char a){
if(a=='0'||a=='1'||a=='2'||a=='3'||a=='4'||a=='5'||a=='6'||a=='7'||a=='8'||a=='9')
return true;
return false;
}
/*
putArr函数用于输出数组中的元素
*/
public static void putArr(char[] ss){
for (int m = 0; m< ss.length; m++) {
System.out.print(ss[m]);
}
}
}
作者:
林发明
时间:
2014-4-8 08:01
我写的分享一下 ,没有判断数字字符,
public static String transStr(String str){
//将字符串转成字符数组,方便进行遍历
char[] chars = str.toCharArray();
//遍历这个数组判断每一个字符是大写还是小写
for (int i = 0; i < chars.length; i++) {
//是小写字符则转成大写,再存入到原来的字符数组中
if(chars[i]>='a' && chars[i]<='z'){
chars[i] = Character.toUpperCase(chars[i]);
}
//大写字符转成小写字符
else if(chars[i]>='A' && chars[i]<='Z'){
chars[i] = Character.toLowerCase(chars[i]);
}
}
return new String(chars); //将遍历完并且转换完成的数组变成字符串返回
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2