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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

不知道这样打成压缩包对不对,不对的话说一声啊

终结者.zip

6.97 KB, 下载次数: 45

点评

做的很好,但是希望你能把思路和注释集中写,这样程序就更清晰,加油,继续加油!  发表于 2013-11-17 12:39

评分

参与人数 1技术分 +3 收起 理由
杨增坤 + 3

查看全部评分

回复 使用道具 举报
jttsai 山林野马 2013-11-15 19:22:45
41#
1,2两题已经做好,请查收!共勉之~

蒋涛涛.rar

5.51 KB, 下载次数: 61

点评

做的不错,但是希望你能把你做题思路写出来,继续加油!  发表于 2013-11-17 12:38

评分

参与人数 1技术分 +3 收起 理由
杨增坤 + 3

查看全部评分

回复 使用道具 举报

恩恩,我会加油的!嘿嘿
回复 使用道具 举报
因为大四正在实习原因,空余时间不多,利用下班的一会时间先把第一题做好了  。。。。明天有时间再把每二题做好交上。。。望谅解。
  1. /*
  2. 第一题
  3.      学生成绩分为四个等级:90~100:优,80~89:良,70~79:中,60~69:及格,0~60:不及格。   

  4.      要求:   
  5.         1.输入一个学生的成绩:例如 99,那么输出优。        
  6.         2.输入成绩必须是整数,范围是0~100,超过范围或者输入的不是整数,要做相应的处理。   
  7.         3.可以连续输入成绩,当输入over的时候,结束输入成绩
  8. */

  9. import java.io.*;
  10. class ScoreText
  11. {
  12.         public static void main(String[] args)
  13.         {
  14.                 text();       
  15.         }
  16.         public static void text()
  17.         {
  18.                 String s = null;  
  19.                 int score;
  20.                 BufferedReader bufr = null;
  21.                 try
  22.                 {
  23.                         while (true)
  24.                         {
  25.                                 bufr = new BufferedReader(new InputStreamReader(System.in)); //键盘录入
  26.                        
  27.                                 s = bufr.readLine();  //读取键盘录入的值

  28.                                 if("over".equals(s))
  29.                                         return;

  30.                                 score = Integer.parseInt(s); //如果是非数字字符串,则会抛异常
  31.                                        
  32.                                 if(score<0 || score>100)
  33.                                         System.out.println("请输入0-100之间的分数");

  34.                                 if(score<=100 && score>=90)
  35.                                         System.out.println("....优");
  36.                                 else if(score<90 && score>=80)
  37.                                         System.out.println("....良");
  38.                                 else if(score<80 && score>=70)
  39.                                         System.out.println("....中");
  40.                                 else if(score<70 && score>=60)
  41.                                         System.out.println("....及格");
  42.                                 else if(score<60 && score>=0)
  43.                                         System.out.println("....不及格");
  44.                                                
  45.                         }
  46.                 }
  47.                 catch (Exception e)
  48.                 {
  49.                         if(s == null) //如果强制退出,就不提示
  50.                                 return;
  51.                         System.out.println("请输入整数");       
  52.                         text(); //抛异常后,提示,并可继续录入分数
  53.                 }
  54.                 finally
  55.                 {
  56.                         try
  57.                         {
  58.                                 if(bufr!=null)
  59.                                         bufr.close();
  60.                         }
  61.                         catch (IOException e)
  62.                         {
  63.                                 System.out.println("关闭异常");
  64.                         }
  65.                 }
  66.                        
  67.         }
  68. }
复制代码

点评

实现了,,但是注释和思路都没有,希望你继续努力!  发表于 2013-11-15 17:02

评分

参与人数 1技术分 +2 收起 理由
杨增坤 + 2

查看全部评分

回复 使用道具 举报
  1. import java.io.*;


  2. public class Test1 {

  3.      /**从控制台字符串,将输入的字符串中的小写字母转换成大写字母,大写字母转换成小写字母,数字转换成#符号。
  4.      *            要求:
  5.      *       1.输入的必须只能包含数字和字母。
  6.      *       2.输出的要求要清晰明了。
  7.      *              例如:abd12AN45Ngk
  8.      *                     转换后的是:
  9.      *                    ABD##an##nGK
  10.      *               
  11.      *      思路:
  12.      *              1、用System,in设定控制台输入
  13.      *              2、创建一方法实现小写变大写,大写变小写,数字变#,(用正则表达式)               
  14.      */
  15.         public static void main(String[] args) {
  16.                
  17.                 BufferedReader bur=new BufferedReader(new InputStreamReader(System.in));
  18.                 while (true){
  19.                         System.out.print("请输入只能包含数字和字母的字符串:");
  20.                         String s;
  21.                         try {
  22.                                 s = bur.readLine();
  23.                                 getString(s);
  24.                         } catch (IOException e) {
  25.                                 // TODO Auto-generated catch block
  26.                                 e.printStackTrace();
  27.                         }
  28.                        
  29.                 }
  30.         }
  31.         private static void getString(String s) {
  32.                 char[] arr = s.toCharArray();
  33.                 StringBuffer sb = new StringBuffer();
  34.                 for (char c : arr) {
  35.                         if (c >= '0' && c <= '9') {
  36.                                 sb.append("#");
  37.                         } else if (c >= 'a' && c <= 'z') {
  38.                                 sb.append(String.valueOf(c).toUpperCase());
  39.                         } else if (c >= 'A' && c <= 'Z') {
  40.                                 sb.append(String.valueOf(c).toLowerCase());
  41.                         }
  42.                 }
  43.                 System.out.println(sb.toString());
  44.         }
  45.        

  46. }
复制代码
  1. import java.io.*;


  2. public class Test1 {

  3.      /**从控制台字符串,将输入的字符串中的小写字母转换成大写字母,大写字母转换成小写字母,数字转换成#符号。
  4.      *            要求:
  5.      *       1.输入的必须只能包含数字和字母。
  6.      *       2.输出的要求要清晰明了。
  7.      *              例如:abd12AN45Ngk
  8.      *                     转换后的是:
  9.      *                    ABD##an##nGK
  10.      *               
  11.      *      思路:
  12.      *              1、用System,in设定控制台输入
  13.      *              2、创建一方法实现小写变大写,大写变小写,数字变#,(用正则表达式)               
  14.      */
  15.         public static void main(String[] args) {
  16.                
  17.                 BufferedReader bur=new BufferedReader(new InputStreamReader(System.in));
  18.                 while (true){
  19.                         System.out.print("请输入只能包含数字和字母的字符串:");
  20.                         String s;
  21.                         try {
  22.                                 s = bur.readLine();
  23.                                 getString(s);
  24.                         } catch (IOException e) {
  25.                                 // TODO Auto-generated catch block
  26.                                 e.printStackTrace();
  27.                         }
  28.                        
  29.                 }
  30.         }
  31.         private static void getString(String s) {
  32.                 char[] arr = s.toCharArray();
  33.                 StringBuffer sb = new StringBuffer();
  34.                 for (char c : arr) {
  35.                         if (c >= '0' && c <= '9') {
  36.                                 sb.append("#");
  37.                         } else if (c >= 'a' && c <= 'z') {
  38.                                 sb.append(String.valueOf(c).toUpperCase());
  39.                         } else if (c >= 'A' && c <= 'Z') {
  40.                                 sb.append(String.valueOf(c).toLowerCase());
  41.                         }
  42.                 }
  43.                 System.out.println(sb.toString());
  44.         }
  45.        

  46. }
复制代码

点评

没有对输入的字符串进行限制,要写注释和思路的哦!继续加油!  发表于 2013-11-15 17:00

评分

参与人数 1技术分 +3 收起 理由
杨增坤 + 3

查看全部评分

回复 使用道具 举报
努力解决

师寒清.zip

8.76 KB, 阅读权限: 100, 下载次数: 4

点评

写的不错,继续加油,养成写注释和思路的希望!  发表于 2013-11-17 12:55
重复回复了  发表于 2013-11-15 13:13
回复 使用道具 举报
希望满意

师寒清.zip

8.76 KB, 阅读权限: 100, 下载次数: 1

点评

写不不错,注释详细,但是希望你能把注释集中写到一块,这样注释就更清晰,使用多种方法来做,继续努力!  发表于 2013-11-15 13:11

评分

参与人数 1技术分 +4 收起 理由
杨增坤 + 4

查看全部评分

回复 使用道具 举报
仅使用一种方法实现的

linjl_ll.zip

2.29 KB, 阅读权限: 255, 下载次数: 2

点评

有的输入没有判断,希望你继续完善,加油!  发表于 2013-11-15 16:58

评分

参与人数 1技术分 +3 收起 理由
杨增坤 + 3

查看全部评分

回复 使用道具 举报
刘朋鑫提交作业

刘朋鑫.zip

9.57 KB, 阅读权限: 100, 下载次数: 1

点评

当输入的产生了异常,结束了循环,希望你继续完善,加油!  发表于 2013-11-15 16:55

评分

参与人数 1技术分 +3 收起 理由
杨增坤 + 3

查看全部评分

回复 使用道具 举报
供版主查看

徐星星.rar

6.73 KB, 阅读权限: 100, 下载次数: 1

只供版主查看

点评

做的不错,但是注释和思路不清晰,希望你继续加油!  发表于 2013-11-15 16:52

评分

参与人数 1技术分 +3 收起 理由
杨增坤 + 3

查看全部评分

回复 使用道具 举报
张鹏 中级黑马 2013-11-14 01:46:14
32#
成绩等级与字符串解答

张鹏.zip

1.44 KB, 阅读权限: 100, 下载次数: 4

点评

写的很好,方法很独特,希望你能把注释集中书写,继续加油!  发表于 2013-11-15 16:42

评分

参与人数 1技术分 +4 收起 理由
杨增坤 + 4

查看全部评分

回复 使用道具 举报
成绩登记代码:

public class Test01 {

        public static void main(String[] args) {
                // TODO Auto-generated method stub
          //给定s1为空字符,便于后面循环赋值;
                        String s1= "";
                        //一个循环。当输入的为over时结束循环,即不能在输入成绩了
                        do{
                                //提示输入成绩
                                System.out.print("请输入成绩:");
                                //实例化scanner对象,用于获取输入的字符串
                                Scanner scanner= new Scanner(System.in);
                                //获取输入的字符串
                                s1= scanner.next();
                                //判断类型是否为int类型
                                try {
                                        int i = Integer.parseInt(s1);
                                        getNum(i);
                                } catch (NumberFormatException e) {
                                        // TODO Auto-generated catch block
                                        //e.printStackTrace();
                                        System.out.println("输入的不是整数!");
                                }
                                
                        }while(!(s1.equals("over")));
        }


        public static void getNum(int i){
                //判断i的大小是否超出范围
                if(i>=0&&i<=100){
                        //判断成绩等级
                        if(i<=100&&i>=90){
                                System.out.println("优");
                        }else if(i>=80&&i<=89){
                                System.out.println("良");
                        }else if(i>=70&&i<=79){
                                System.out.println("中");
                        }else if(i>=60&&i<=69){
                                System.out.println("及格");
                        }else{
                                System.out.println("不及格");
                        }
                        
                }else{
                        System.out.println("成绩超出范围!");
                }
        }
}



字符串代码:
public class Test02 {

        public static void main(String[] args) {
                // TODO Auto-generated method stub

                System.out.print("请输入字符串:");
                Scanner scanner= new Scanner(System.in);
                String s=scanner.next();
                //System.out.println(s.length());
                //定义 一个int类型的参数来获取字符串每个元素的char值的ASCII码值
                int changetemp;
                //定义一个char类型的参数用来设定获取每个字母将其转换后的字母
                char changechar;
                for (int i = 0; i <s.length(); i++) {
                        char tochar=s.substring(i, i+1).charAt(0);
                        //定义tochartemp来获取每个字母的ASCII值
                        int tochartemp=tochar;
                        if(tochartemp>=48&&tochartemp<=57){
                                System.out.print("#");
                        }else if(tochartemp<=96&&tochartemp>=65){
                                //将获取的字母转换成小写字母
                                 changetemp=tochar+32;
                                 //转换成char类型用于输出
                             changechar=(char)changetemp;
                            // System.out.print(changetemp);
                                System.out.print(changechar);
                        }else{
                                //将获取的字母转换成大写字母
                                 changetemp=tochar-32;
                                //转换成char类型用于输出
                             changechar=(char)changetemp;
                            // System.out.print(changetemp);
                                System.out.print(changechar);
                        }
                }
               
        }

}


点评

要注意排版,要把注释集中书写,还有把自己的思路写出来,继续加油!  发表于 2013-11-15 16:39

评分

参与人数 1技术分 +3 收起 理由
杨增坤 + 3

查看全部评分

回复 使用道具 举报
请楼主查看,谢谢!

徐星星.rar

6.73 KB, 下载次数: 33

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

  2. public class Test1 {
  3.        
  4.         /**
  5.          * 学生成绩分为四个等级:90~100:优,80~89:良,70~79:中,60~69:及格,0~60:不及格。   
  6.                  要求:   
  7.              1.输入一个学生的成绩:例如 99,那么输出优。        
  8.              2.输入成绩必须是整数,范围是0~100,超过范围或者输入的不是整数,要做相应的处理。   
  9.              3.可以连续输入成绩,当输入over的时候,结束输入成绩
  10.          */

  11.         public static void main(String[] args) {
  12.                 Scanner sc = new Scanner(System.in);        //建立键盘输入对象
  13.                 while(true) {
  14.                         System.out.println("请输入你的成绩:");        //提示
  15.                         String line = sc.nextLine();                //将键盘录入的出入line变量中
  16.                         if("over".equals(line)) {                        //当遇到over时
  17.                                 break;                                                        //退出
  18.                         }
  19.                         try {
  20.                                 int temp = Integer.parseInt(line);                        //将得到的字符串转换为Integer对象
  21.                                 method(temp);                                                                //调用method方法
  22.                         } catch (NumberFormatException e) {                                //如果转换出错证明输入的不是整数
  23.                                 System.out.println("你输入的不是整数,请输入整数");  //提示
  24.                         }
  25.                 }
  26.                 sc.close();                //关闭流对象
  27.         }
  28.        
  29.         private static void method(int i) {
  30.                 if(i >= 0 && i <= 100) {                                        //如果输入的数字在0~100之间就执行下列操作
  31.                         switch(i/10) {                                                        //去掉数字的个位数找他十位数对应的值并输出
  32.                         case 6:                //60~69:及格
  33.                                 System.out.println("恭喜你及格了。");
  34.                                 break;
  35.                         case 7:                //70~79:中
  36.                                 System.out.println("恭喜你的成绩为中等。");
  37.                                 break;
  38.                         case 8:                //80~89:良
  39.                                 System.out.println("恭喜你此次的成绩为良");
  40.                         case 9:
  41.                         case 10:        //90~100:优
  42.                                 System.out.println("恭喜你获得了优。");
  43.                                 break;
  44.                         default:        //0~60:不及格
  45.                                 System.out.println("你此次考试不及格");
  46.                                 break;
  47.                         }
  48.                 } else {                //如果输入的数不再0~100之间给以提示
  49.                         System.out.println("请输入正确的成绩:0~100");
  50.                 }
  51.         }

  52. }
复制代码

点评

实现了,但是希望你使用都中方法,然后那注释集中书写,继续加油!  发表于 2013-11-15 16:37

评分

参与人数 1技术分 +2 收起 理由
杨增坤 + 2

查看全部评分

回复 使用道具 举报
heke 中级黑马 2013-11-13 22:52:10
28#
  1. package heima.test;

  2. import java.io.BufferedReader;
  3. import java.io.IOException;
  4. import java.io.InputStreamReader;
  5. import java.util.ArrayList;

  6. /*第一题
  7. 学生成绩分为四个等级:90~100:优,80~89:良,70~79:中,60~69:及格,0~60:不及格。   
  8.   要求:   
  9.       1.输入一个学生的成绩:例如 99,那么输出优。        
  10.       2.输入成绩必须是整数,范围是0~100,超过范围或者输入的不是整数,要做相应的处理。   
  11.       3.可以连续输入成绩,当输入over的时候,结束输入成绩
  12. */
  13. public class Test1 {
  14.     public static void main(String[] args) {
  15.             Test1 test=new Test1();
  16.             Integer[] array=test.getArray();
  17.             
  18.            //输出打印  
  19.           for(int i=0;i<array.length;i++){
  20.                   System.out.print(array[i]+":"+test.getLevel(array[i])+",\t");
  21.           }
  22. }
  23.         //1.从键盘上录入数据,存到数组中。
  24.     public Integer[] getArray() {
  25.    
  26.         System.out.println("请输入整数,输入over时输入结束");
  27.                 //获取键盘录入对象,InputStreamReader,将字节流对象转成字符流对象
  28.         //BufferedReader,为了提高效率,将字符串进行缓冲区技术高效操作
  29.                 BufferedReader bufr =
  30.                                 new BufferedReader(new InputStreamReader(System.in));
  31.                 String line = null;
  32.                 //定义一个集合,装输入的数据,因为输入数据多少不确定,所以用集合装
  33.         ArrayList<Integer> list=new ArrayList<Integer>();
  34.                 try {
  35.                         //一行的读入数据
  36.                         while((line=bufr.readLine())!=null)
  37.                         {   int num=0;
  38.                          //判断输入是否为over,是则结束
  39.                                 if("over".equals(line))  
  40.                                 { System.out.println("输入结束");
  41.                                         break;
  42.                                 }
  43.                                 //当输入不是整数,进行异常处理
  44.                                 try {
  45.                                          num= Integer.parseInt(line);
  46.                                 } catch (Exception e) {
  47.                                         System.out.println("您没有输入整数,请重新输入");
  48.                                  continue;        //这次输入数据不加人集合中       
  49.                                                 }
  50.                                   
  51.                    list.add(num );
  52.                         }
  53.                         //处理输入异常
  54.                 } catch (IOException e) {
  55.                        
  56.                         e.printStackTrace();
  57.                 }finally{
  58.                         //关闭流操作
  59.                         if(bufr!=null){
  60.                                
  61.                                 try {
  62.                                         bufr.close();
  63.                                 } catch (IOException e) {
  64.                                        
  65.                                         e.printStackTrace();
  66.                                 }
  67.                         }
  68.                        
  69.                 }
  70.                 //把得到的集合转换为组
  71.                 Integer[] array= (Integer[]) list.toArray(new Integer[list.size()]);
  72.                 return array;
  73.                                
  74.         }
  75.     //判断成绩的等级
  76.     public String getLevel(int  grade){
  77.             String  level=null;
  78.             //先除以10就变成了1-10的数据了
  79.          int num=grade/10;
  80.          if(num>=9&&num<=10){
  81.                  level="优";
  82.          }
  83.                        
  84.          else if(num==8){
  85.                  level="良";
  86.          }
  87.          else if(num==7)
  88.          {
  89.                  level="中";
  90.          }
  91.          else if(num==6)
  92.          {
  93.                  level="及格";
  94.          }
  95.          else if(0<=num&&num<6)
  96.          {
  97.                  level="不及格";
  98.          }
  99.          else{
  100.                  level= "请输入1-100的数据";
  101.          }
  102.             return level;
  103.        }
  104. }
复制代码
第二题
  1. package heima.test;

  2. import java.io.BufferedReader;
  3. import java.io.IOException;
  4. import java.io.InputStreamReader;
  5. /*第二题
  6. 从控制台字符串,将输入的字符串中的小写字母转换成大写字母,大写字母转换成小写字母,数字转换成#符号。

  7. 要求:
  8.    1.输入的必须只能包含数字和字母。
  9.    2.输出的要求要清晰明了。
  10.         例如:abd12AN45Ngk
  11.             转换后的是:
  12.               ABD##an##nGK
  13. */

  14. public class Test2 {
  15.         public static void main(String[] args) {
  16.                 Test2 t=new Test2();
  17.                
  18.                 //得到输入的字符串
  19.                 String str=t.getString();
  20.                
  21.                 //改变字符串格式
  22.                 str=t.changeStyle(str);
  23.                
  24.                 System.out.println(str);
  25.                
  26.         }
  27.         public  String changeStyle(String str) {
  28.                  //把字符串转换为数组,在每个字母进行改变
  29.                  char[] ch=str.toCharArray();
  30.                  for(int i=0;i<ch.length;i++){
  31.                            //小写改为大写
  32.                             if(ch[i]>96){
  33.                              ch[i]-=32;
  34.                             }
  35.                             //数字改为#
  36.                             else if(ch[i]>=48&&ch[i]<=58)
  37.                             {
  38.                                     ch[i]='#';
  39.                             }
  40.                             //大写改为小写
  41.                             else
  42.                             {
  43.                              ch[i]+=32;
  44.                             }
  45.                            }
  46.                  //把数组转换为String返回
  47.                 return String.valueOf(ch);
  48.         }
  49.         public String getString() {
  50.                   
  51.                 System.out.println("请输入字符串(只能包含数字和字母)");
  52.                         //获取键盘录入对象,InputStreamReader,将字节流对象转成字符流对象
  53.                 //BufferedReader,为了提高效率,将字符串进行缓冲区技术高效操作
  54.                         BufferedReader bufr =
  55.                                         new BufferedReader(new InputStreamReader(System.in));
  56.                         String line = null;
  57.                         try {
  58.                                 //一行的读入数据
  59.                                 while((line=bufr.readLine())!=null)
  60.                                 {                                  
  61.                                         //用正则判断是不是只包含数字和字母
  62.                                         String regex="[a-zA-Z0-9]+";
  63.                                         if(!line.matches(regex))
  64.                                         {
  65.                                                 System.out.println("只能包含数字和字母,请重新输入");
  66.                                          continue;        //输入错误重新输入       
  67.                                         }                                         
  68.                                                 break;

  69.                            
  70.                                 }
  71.                                 //处理输入异常
  72.                         } catch (IOException e) {
  73.                                
  74.                                 e.printStackTrace();
  75.                         }finally{
  76.                                 //关闭流操作
  77.                                 if(bufr!=null){
  78.                                        
  79.                                         try {
  80.                                                 bufr.close();
  81.                                         } catch (IOException e) {
  82.                                                
  83.                                                 e.printStackTrace();
  84.                                         }
  85.                                 }
  86.                                
  87.                         }
  88.                         //把得到的集合转换为组
  89.                        
  90.                         return line;                                        
  91.                 }
  92. }
复制代码

点评

要保证任何情况下可以循环,注释和思路要清晰,继续加油!  发表于 2013-11-15 13:59

评分

参与人数 1技术分 +3 收起 理由
杨增坤 + 3

查看全部评分

回复 使用道具 举报
Desktop.zip (1.31 KB, 下载次数: 42)

点评

出现了输入异常的话,不能保证循环,希望能继续努力,加油!注释和思路集中解释!  发表于 2013-11-15 13:58

评分

参与人数 1技术分 +3 收起 理由
杨增坤 + 3

查看全部评分

回复 使用道具 举报
第一题:
  1. package cn.djb.string;

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

  5. public class Test1 {

  6.         /**
  7.          * @param args
  8.          */
  9.         public static void main(String[] args) {
  10.                 System.out.println("请输入成绩:0~100");
  11.                 BufferedReader br = null;
  12.                 try{
  13.                 //创建一个与键盘录入有关的输入流
  14.                 br = new BufferedReader(new InputStreamReader(System.in));
  15.                 //读取键盘录入数据
  16.                 String line = null;
  17.                 while((line=br.readLine())!=null){
  18.                 //判断程序结束标记
  19.                 if("over".equals(line.trim()))
  20.                         System.exit(0);
  21.                 //判断输入的数据是否符合规则
  22.                 if(!line.matches("\\d{1,3}")||Integer.parseInt(line)>100){
  23.                         System.out.println("输入的成绩格式不正确");
  24.                         continue;
  25.                 }
  26.                 //将成绩转成int型并判断并输出成绩信息
  27.                 int grade = Integer.parseInt(line);
  28.                 if(grade<60)
  29.                         System.out.println("不及格");
  30.                 else if(grade<70)
  31.                         System.out.println("及格");
  32.                 else if(grade<80)
  33.                         System.out.println("中");
  34.                 else if(grade<90)
  35.                         System.out.println("良");
  36.                 else
  37.                         System.out.println("优");
  38.                
  39.                 }
  40.                 }catch (Exception e) {
  41.                         e.printStackTrace();
  42.                 }finally{//释放流资源
  43.                         if(br!=null)
  44.                                 try {
  45.                                         br.close();
  46.                                 } catch (IOException e) {
  47.                                         // TODO Auto-generated catch block
  48.                                         e.printStackTrace();
  49.                                 }
  50.                 }

  51.         }

  52. }
复制代码
第二题:
  1. package cn.djb.string;

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

  5. public class Test2 {

  6.         /**
  7.          * @param args
  8.          */
  9.         public static void main(String[] args) {
  10.                 BufferedReader br = null;
  11.                 try{
  12.                 //创建一个与键盘录入有关的输入流
  13.                 br = new BufferedReader(new InputStreamReader(System.in));
  14.                 //读取键盘录入数据
  15.                 String line = null;
  16.                 while((line=br.readLine())!=null){
  17.                 //判断程序结束标记
  18.                 if("over".equals(line.trim()))
  19.                         System.exit(0);
  20.                 //判断输入的数据是否符合规则
  21.                 if(!line.replaceAll("[^a-zA-Z0-9]", "1").equals(line)){
  22.                         System.out.println("输入的数据必须只能包含数字和字母");
  23.                         continue;
  24.                 }
  25.                 //符合规则后先将所有数字替换成#
  26.                 line = line.replaceAll("\\d", "#");
  27.                
  28.                 //将替换后的字符串转成插入char[]数组,遍历并将其转成String进行正则判断后将其转换存入StringBuilder中
  29.                 char[] chars=line.toCharArray();
  30.                 StringBuilder sb = new StringBuilder();
  31.                 for(char ch : chars){
  32.                         String s=String.valueOf(ch);
  33.                         if(s.matches("[a-z]"))
  34.                                 sb.append(s.toUpperCase());
  35.                         else if(s.matches("[A-Z]"))
  36.                                 sb.append(s.toLowerCase());
  37.                         else
  38.                                 sb.append(s);
  39.                 }
  40.                 //输出StringBuilder中的数据
  41.                 System.out.println(sb.toString());
  42.                 }
  43.                 }catch (Exception e) {
  44.                         e.printStackTrace();
  45.                 }finally{//释放流资源
  46.                         if(br!=null)
  47.                                 try {
  48.                                         br.close();
  49.                                 } catch (IOException e) {
  50.                                         // TODO Auto-generated catch block
  51.                                         e.printStackTrace();
  52.                                 }
  53.                 }

  54.        

  55.         }

  56. }
复制代码

点评

要把思路和注释集中写,那么程序更清晰,继续加油!  发表于 2013-11-15 13:53

评分

参与人数 1技术分 +3 收起 理由
杨增坤 + 3

查看全部评分

回复 使用道具 举报
求撒分~~~求撒分~~~我还差5分~~~

GradeAndString.zip

10.95 KB, 下载次数: 55

点评

写的不错,但是你能在出现了异常的话,那么可以循环,继续加油,  发表于 2013-11-15 13:51

评分

参与人数 1技术分 +4 收起 理由
杨增坤 + 4 赞一个!

查看全部评分

回复 使用道具 举报
{:soso__10372570484069073532_4:}    同学辛苦了!

王锐军.zip

2.23 KB, 下载次数: 76

点评

实现了功能,继续加油,多种方法,  发表于 2013-11-15 13:48

评分

参与人数 1技术分 +3 收起 理由
杨增坤 + 3 赞一个!

查看全部评分

回复 使用道具 举报
刚才顶了一个。。。sorry
这是程序..

Test.rar

4.32 KB, 下载次数: 53

点评

注释和思路都不完善,希望你继续努力,尝试使用多种方法,  发表于 2013-11-15 13:46

评分

参与人数 1技术分 +2 收起 理由
杨增坤 + 2

查看全部评分

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