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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

5黑马币
题目:从键盘接收一个字符串,对字符串的字母进行大小写互转

27 个回复

正序浏览
ni xuede zm 样了
回复 使用道具 举报
  1. package com.itheima;

  2. import java.io.BufferedReader;
  3. import java.io.IOException;
  4. import java.io.InputStreamReader;

  5. /**
  6. * 题目:
  7. * 7、编写程序,从键盘接收一个字符串,对字符串中的字母进行大小写互转(大写字母转成小写,小写字母转成大写)。
  8. *
  9. * 思路:
  10. *1、将键盘作为源来获得一个字符串。
  11. *2、将控制台作为目的来展示互转后的字符串。
  12. *3、在过程中,对大写字母和小写字母做出相应的处理。
  13. *
  14. *步骤:
  15. *1、键盘录入一系列的大写和小写子母。利用缓冲区来完成。
  16. *2、对录入子母进行判断,将大写转成小写,小写转成大写,实验得到大小写字母的差值:32。
  17. *3、将转换后的字符存入缓冲区,并打印,打印结束后,清空缓冲区。
  18. *
  19. */
  20. public class test {

  21.         public static void main(String[] args) {
  22.                 BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
  23.                 StringBuilder sb = new StringBuilder();                                        //定义缓冲区。
  24.                 String line = null;                                                                                //定义字符串line。
  25.                 try {                                                                                                        //对异常进行try catch 处理。
  26.                         while ((line=bufr.readLine())!=null) {
  27.                                 char[] chs = line.toCharArray();                                //将字符串转成数组。
  28.                                 int count = 0;                                                                        //定义计数器,方便清空缓冲区。
  29.                                 for(char ch : chs){                                                                //对数组进行for循环。
  30.                                         if (ch<='z'&&ch>='a') {                                                //判断是否满足条件。
  31.                                                 char ch1 = (char) ((char)ch-32);                //实验得来大小写差值,并进行转换。
  32.                                                 sb.append(ch1);                                                        //将得到的字符存入到缓冲区。
  33.                                                 count++;                                                                //计数器自增。
  34.                                         }
  35.                                         else if (ch<='Z'&&ch>='A') {
  36.                                                 char ch1 = (char) ((char)ch+32);
  37.                                                 sb.append(ch1);
  38.                                                 count++;
  39.                                         }
  40.                                         else {                                                                                //如果不是字符,则继续循环。
  41.                                                 continue;
  42.                                         }
  43.                                 }
  44.                                 if("end".equals(line)){                                                        //定义结束标志。
  45.                                         break;
  46.                                 }
  47.                                 System.out.println(sb);                                                        //打印转换后的字符串。
  48.                                 sb.delete(0, count);                                                        //清空缓冲区。
  49.                         }
  50.                 } catch (IOException e) {                                                                //异常处理。
  51.                         throw new RuntimeException("字符转换错误");
  52.                 }
  53.         }

  54. }
复制代码
回复 使用道具 举报
package com.itheima;

import java.util.Scanner;

/**
*  编写程序,从键盘接收一个字符串,
*  对字符串中的字母进行大小写互转(大写字母转成小写,小写字母转成大写)。
*
* */
public class Test5 {
        public static void main(String[] args){
                System.out.println("请输入字符串:");
                Scanner sc =new Scanner(System.in);
                String str =sc.nextLine();
               
                caseConversion(str);
        }
       
        /**
         * 字符串大小写转换
         * */
        private static void caseConversion(String str) {  
        //将输入的字符串先转换成字符数组
                char[] ch =str.toCharArray();
                for(int i=0;i<ch.length;i++){
                        //遍历取出每个字符与大写字母的Hash值相比较,看是否为大写字母
                        if(ch[i]>=65 && ch[i]<=90){
                                //大写字母与其相对应的小写字母Hash值相差32
                                ch[i]+=32;
                        }else if(ch[i]>=97 && ch[i]<=122){
                                ch[i]-=32;
                        }
                        }
                //将转换后的字符数组,转换成字符串
                String s1=new String(ch, 0, ch.length);
                System.out.println(s1);
                }

}
回复 使用道具 举报
看看。。。。。。。。。。。。
回复 使用道具 举报
        public static void transLetter()
        {
                InputStream in=System.in;
                BufferedReader buf=null;
                String s=null;
                try
                {
                        buf=new BufferedReader(new InputStreamReader(in));
                        while((s=buf.readLine())!=null)
                        {
                                char[]ch=s.toCharArray();
                                for(int x=0;x<ch.length;x++)
                                {
                                        if(ch[x]>='a'&&ch[x]<='z')
                                                ch[x]=(char) (ch[x]-32);
                                        else
                                                ch[x]=(char) (ch[x]+32);
                                }
                                for(char c:ch)
                                {
                                        System.out.print(c);
                                }
                                System.out.println();
                        }
                       
                }
                catch(IOException e)
                {
                        throw new RuntimeException();
                }
                finally
                {
                        try
                        {
                                if(buf!=null)
                                        buf.close();
                        }
                        catch(IOException e)
                        {
                                throw new RuntimeException();
                        }
                       
                }
               
        }
回复 使用道具 举报
本帖最后由 Strivespring 于 2014-11-4 18:39 编辑
  1. public static void Test(){
  2.                 Scanner s = new Scanner(System.in);
  3.                 String str = s.nextLine();
  4. //      定义一个StringBuffer接收转换换句话说结果
  5.         StringBuffer sb = new StringBuffer();
  6.         //判断字符是否为空
  7.         if (str != null) {
  8. //                for循环使用charAt()方法把字符串的每个字符遍历出来
  9.                 for (int i = 0; i < str.length(); i++) {
  10.                         char c = str.charAt(i);
  11. //                        判断是否是小写
  12.                         if (Character.isUpperCase(c)) {
  13. //                                如果是小写就转换成大写并加入到StringBuffer中
  14.                                 sb.append(Character.toLowerCase(c));
  15. //                                判断是否是大写
  16.                         } else if (Character.isLowerCase(c)) {
  17. //                                如果是大写就转换成小写并加入到StringBuffer中
  18.                                 sb.append(Character.toUpperCase(c));
  19.                         }
  20.                 }
  21.         }
  22. //        输出转换后换句话说字符串
  23.         System.out.println(sb.toString());
  24.         }
复制代码
回复 使用道具 举报
  1. public static String exChange() {
  2.                 //创建scanner对象
  3.                 Scanner s = new Scanner(System.in);
  4.                 // 定义一个StringBuffer接收转换换句话说结果
  5.                 while (true) {
  6.                         //读取键盘输入内容
  7.                         String str = s.nextLine();

  8.                         StringBuffer sb = new StringBuffer();
  9.                         // 判断字符是否为空

  10.                         // for循环使用charAt()方法把字符串的每个字符遍历出来
  11.                         for (int i = 0; i < str.length(); i++) {
  12.                                 char c = str.charAt(i);
  13.                                 // 判断是否是小写
  14.                                 if (Character.isUpperCase(c)) {
  15.                                         // 如果是小写就转换成大写并加入到StringBuffer中
  16.                                         sb.append(Character.toLowerCase(c));
  17.                                         // 判断是否是大写
  18.                                 } else if (Character.isLowerCase(c)) {
  19.                                         // 如果是大写就转换成小写并加入到StringBuffer中
  20.                                         sb.append(Character.toUpperCase(c));
  21.                                 }
  22.                         }

  23.                         // 返回转换后换句话说字符串
  24.                         System.out.println(sb.toString());
  25.                 }

  26.         }
复制代码
回复 使用道具 举报
来转转。。。。。
回复 使用道具 举报
来转转。。。。。
回复 使用道具 举报
来转转。。。。。看看。。。。
回复 使用道具 举报
是不显示你键盘输入的内容直接显示转换后的结果吧
回复 使用道具 举报
  1. import java.util.*;
  2. class  TransformDemo
  3. {
  4.         //需求:将键盘录入的字符串大小写互转。
  5.         public static void main(String[] args)
  6.         {
  7.                 System.out.println(transStr());
  8.         }
  9.         public static String transStr()
  10.         {
  11.                 //获取键盘录入的字符串
  12.                 Scanner sc=new Scanner(System.in);
  13.                 String str=sc.next();
  14.                 //定义正则表达式,要求字符串必须全是字母
  15.                 String reg="[a-zA-Z]+";
  16.                 char[] ch=str.toCharArray();
  17.                 //如果字符串满足reg,将字符串转换为字符数组
  18.                 if(str.matches(reg))
  19.                         ch=str.toCharArray();
  20.                 else
  21.                 {
  22.                         return "请输入只带大小写字母的字符串";
  23.                 }
  24.                 //遍历满足条件后,String转换成的字符数组
  25.                 for(int i=0;i<ch.length;i++)
  26.                 {
  27.                         //判断大小写,以及大小写转换
  28.                         if(65<=ch[i] && ch[i]<=90)
  29.                                 ch[i]=(char)(ch[i]+32);
  30.                         else
  31.                                 ch[i]=(char)(ch[i]-32);
  32.                 }
  33.                 //将字符数组封装成字符串对象
  34.                 str=new String(ch);
  35.                 return str;

  36.         }
  37. }
复制代码
回复 使用道具 举报
  1. package com.itheima;

  2. import java.io.BufferedReader;
  3. import java.io.IOException;
  4. import java.io.InputStreamReader;

  5. /**
  6. * 第7题:编写程序,从键盘接收一个字符串,
  7. *                 对字符串中的字母进行大小写互转(大写字母转成小写,小写字母转成大写)。
  8. * @author longchao
  9. */
  10. /*
  11. * 思路:
  12. *         1,分成两个静态方法,一个用于接收键盘录入;一个用于字母大小写互转。
  13. *         2,键盘接收字符串用:BufferedReader(new InputStream(System.in)
  14. *         3,将接收到了字符串存为字符串数组,对字符数组进行大小写转换并转成字符串输出
  15. * */
  16. public class Test7 {
  17.         public static void main(String[] args) {
  18. //                trans("sdKLLJKiojLKJijoLKJ7$#%^87klj0?334..");
  19.                 try {
  20.                         //调用接收键盘录入方法,并把接收的数组传给trans进行大小写转换
  21.                         trans(keyboardIn());
  22.                 } catch (IOException e) {
  23.                         e.printStackTrace();
  24.                 }
  25.         }
  26.        
  27.         //字母大小写转换方法
  28.         public static void trans(String str){
  29.                 System.out.println("您输入的数据为:"+str);
  30.                
  31.                 //将字符串变数组
  32.                 char[] chs = str.toCharArray();
  33.                
  34.                 //遍历数组
  35.                 for (int i = 0; i < chs.length; i++) {
  36.                         //如果字符为小写字母,则转为大写字母
  37.                         if(Character.isLowerCase(chs[i])){
  38.                                 chs[i]=Character.toUpperCase(chs[i]);
  39.                        
  40.                         //如果字符为大写字母,则转为小写字母       
  41.                         }else if(Character.isUpperCase(chs[i])){
  42.                                 chs[i]=Character.toLowerCase(chs[i]);
  43.                         }
  44.                 }
  45.                
  46.                 //将转换后的字符重新封装成字符串
  47.                 String s = new String(chs);
  48.                
  49.                 System.out.println("转换后的数据为:"+s);
  50.                
  51.         }
  52.        
  53.        
  54.         //接收键盘录入方法
  55.         public static String keyboardIn() throws IOException{
  56.                 System.out.println("请输入数据,将为您进行字母大小写转换,如果想退出此程序,请输入:over");
  57.                 BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
  58.                
  59.                 for(String line = null;(line=bufr.readLine())!=null;){
  60.                         if("over".equals(line))
  61.                                 break;
  62.                         else
  63.                                 return line;
  64.                 }
  65.                 return "";
  66.         }

  67. }
复制代码
回复 使用道具 举报
import java.util.Scanner;

/*
*
*
*/
public class Test4 {
        public static void main(String[] args) {
                Scanner sc=new Scanner(System.in);
                System.out.println("请输入字符串:");
                String s=sc.nextLine();
                char[] ch=s.toCharArray();
                StringBuilder st=new StringBuilder();
                for(int x=0;x<ch.length;x++)
                {
                        if(ch[x]>='a'&& ch[x]<='z')
                        {String ss=Character.toString(ch[x]);
                                st.append(ss.toUpperCase());
                        }else
                        {String ss=Character.toString(ch[x]);
                                st.append(ss.toLowerCase());
                        }
                }
                String s1=new String(st);
                System.out.println(s1);
        }

}
回复 使用道具 举报
import java.util.Scanner;

/*
*
*
*/
public class Test4 {
        public static void main(String[] args) {
                Scanner sc=new Scanner(System.in);
                System.out.println("请输入字符串:");
                String s=sc.nextLine();                 //接受字符串
                char[] ch=s.toCharArray();            //转换成字符数组
                StringBuilder st=new StringBuilder();//创建字符串对象
                for(int x=0;x<ch.length;x++)      //遍历数组并转换
                {
                        if(ch[x]>='a'&& ch[x]<='z')
                        {String ss=Character.toString(ch[x]);
                                st.append(ss.toUpperCase());
                        }else
                        {String ss=Character.toString(ch[x]);
                                st.append(ss.toLowerCase());
                        }
                }
                String s1=new String(st);   //转换成字符串
                System.out.println(s1);   //打印字符串
        }

}
回复 使用道具 举报
卖艺人 发表于 2014-9-3 21:12
/*
        将从键盘输入的字符串中的大小写字母互转
*/

这个好像可以!
回复 使用道具 举报
  1. package HeimaBBS;

  2. import java.io.BufferedReader;
  3. import java.io.IOException;
  4. import java.io.InputStreamReader;
  5. import java.util.regex.Matcher;
  6. import java.util.regex.Pattern;
  7. /**
  8. * 问题说明:将控制台输入的字符转换(输入:abcdABCD)转换为(ABCDabcd)输出
  9. *
  10. */
  11. public class RexTest {
  12.         public static void main(String[] args) throws IOException{
  13.                 BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
  14.                 String str = bf.readLine();
  15.                 String reg = "[a-zA-Z]";//正则表达是,只取一个英文字符
  16.                 Pattern p = Pattern.compile(reg);//获取正则对象
  17.                 Matcher m = p.matcher(str);//获取匹配器
  18.                
  19.                 while(m.find()){//查找到匹配的字符
  20.                         char[] c = m.group().toCharArray();//获取到一个字符将其转换为只有一个字符的字符数组                       
  21.                         if(c[0]>='a' && c[0]<='z'){//判断大小写
  22.                                 System.out.print(String.valueOf(c[0]).toUpperCase());
  23.                         }else{
  24.                                 System.out.print(String.valueOf(c[0]).toLowerCase());
  25.                         }
  26.                 }
  27.         }
  28. }
复制代码
回复 使用道具 举报
重来

  1. package demo;
  2. import java.util.*;
  3. public class Demo {

  4.         /**
  5.          * @param args
  6.          */
  7.         public static void main(String[] args) throws Exception{
  8.                 // TODO Auto-generated method stub
  9.                 Scanner s = new Scanner(System.in);
  10.                 String line = null;
  11.                 while ((line = s.nextLine()) != null) {
  12.                         char[] a = line.toCharArray();
  13.                         for (int i = 0; i < a.length; i++) {
  14.                                 if (a[i] >= 'a' && a[i] <= 'z')
  15.                                         a[i] -= 32;
  16.                                 else if (a[i] >='A' && a[i] <= 'Z')
  17.                                         a[i] += 32;
  18.                                 System.out.print(a[i]);
  19.                         }                       
  20.                 }
  21.         }
  22. }
复制代码
回复 使用道具 举报
  1. package demo;
  2. import java.util.*;
  3. public class Demo {

  4.         /**
  5.          * @param args
  6.          */
  7.         public static void main(String[] args) throws Exception{
  8.                 // TODO Auto-generated method stub
  9.                 Scanner s = new Scanner(System.in);
  10.                 String line = null;
  11.                 while ((line = s.nextLine()) != "over") {
  12.                         char[] a = line.toCharArray();
  13.                         for (int i = 0; i < a.length; i++) {
  14.                                 if (a[i] >= 'a' && a[i] <= 'z')
  15.                                         a[i] -= 32;
  16.                                 else if (a[i] >='A' && a[i] <= 'Z')
  17.                                         a[i] += 32;
  18.                                 System.out.print(a[i]);
  19.                         }
  20.                        
  21.                 }
  22.         }
  23. }
复制代码
回复 使用道具 举报
/*
        将从键盘输入的字符串中的大小写字母互转
*/

import java.util.Scanner;

class StringUpperLetter
{
        public static void main(String[] args)
        {
                // 创建一个Scanner对象用来从键盘输入
                Scanner input = new Scanner(System.in);

                // 定义一个字符串
                String str = "";                // 存储输入字符串
                String str1 = "";                // 转换后的字符串

                // 提示输入一串字符串
                System.out.print("请输入一串字符串:");
                str = input.nextLine();
               
                if (str!=null){                        // 判断字符串是否为空
                        for (int i = 0; i < str.length(); i++){                        // 遍历字符串
                                char c = str.charAt(i);                                // 提取单个字符
                                if (Character.isUpperCase(c)){                        // 如果是字符为大写则转换为小写并将转化后的字符添加到新的字符串中
                                        str1 += Character.toLowerCase(c);         
                                }
                                else if (Character.isLowerCase(c)){                // 如果是字符为小写则转换为大并将转化后的字符添加到新的字符串中
                                        str1 += Character.toUpperCase(c);
                                }
                                else
                                        str1 += c;                                // 如果为其他字符则照原来的样子添加进新的字符串
                        }
                }
                System.out.println(str1);                                        // 打印转化后的字符串
        }
}
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马