A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张聪珉 中级黑马   /  2013-8-15 22:21  /  2618 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张聪珉 于 2013-8-16 14:30 编辑

编写程序,从键盘接收一个字符串,对字符串中的字母进行大小写互转(大写字母转成小写,小写字母转成大写)。
我知道怎么编写程序大小写互转,但是是要互转之后的结果输出到dos控制台还是怎样?黑马的题目能不能说清楚一点,搞得我很郁闷

评分

参与人数 1技术分 +1 收起 理由
张俊生 + 1 淡定

查看全部评分

5 个回复

正序浏览
public static void main(String[] args) {
                //定义输入的接口
                Scanner scan=new Scanner(System.in);
                System.out.println("请输入需要转换的字符串:");
                String string=scan.next();
                String transLetter ="";
                for(int i=0;i<string.length();i++){
                        char ch=string.charAt(i);
                        if(Character.isLowerCase(ch)){//判断是小写的话转换大写
                                transLetter+=Character.toUpperCase(ch);
                        }else if(Character.isUpperCase(ch)){//判断是大写的话转换小写
                                transLetter+=Character.toLowerCase(ch);
                        }else{//其他的话就直接输入
                                transLetter+=ch;
                        }
                }
                System.out.println("大小写互相转换后的字符串:");
                //输出结果
                System.out.println(transLetter);
        }
回复 使用道具 举报
语言的理解在于个人
  自己会做,要是展现方式不同,自己很快就能改过来就是,何必纠结
回复 使用道具 举报
哥们,这个就存在悬念了,是不是老师在考验各种输出方式呢?反正就是很简单的东西,你可以在控制台打印也行,其他的可行性的方法也行,最好是都写出来,加个备注,老师看到会多给你打分的,是吧,哥们
回复 使用道具 举报
请楼主详看黑马程序员_毕向东_Java基础视频教程第04天-10-数组(查表法十进制-十六进制)
               黑马程序员_毕向东_Java基础视频教程第04天-11-数组(查表法十进制-二进制)
用Scanner也可以,这玩意儿一看就知道没有特别提醒就应该在命令窗口输出结果呀
回复 使用道具 举报
System.out.println("请输入一个字符串:");
               
                BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));//定义一个键盘输入流
                String line = buf.readLine();//从输入流中读取字符串
                byte[]b = line.getBytes();//把字符串转换成数组
                for (int x = 0;x<b.length;x++)//通过遍历的方式判断每一位是否字母,是的话,通过+-32来切换大小写
                {
                        int num = b[x];
                        if (num>=65 && num<=90 || num>=97 && num<=122)
                        {
                                b[x] = (byte) ((b[x]>=65 && b[x]<=90)?(b[x]+32): ( b[x]-32));
                        }
                }
                line = new String(b);//最后将字节数组转换成字符串
                System.out.println(line);
                buf.close();

评分

参与人数 1技术分 +1 收起 理由
张俊生 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马