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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© FFF   /  2013-12-2 15:55  /  5615 人查看  /  58 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

源代码见附件!

Demo3.zip

1.17 KB, 下载次数: 89

评分

参与人数 1技术分 +5 收起 理由
FFF + 5 完成基本功能+5

查看全部评分

回复 使用道具 举报
看到自己的技术分才那么点,这样的活动还得多参与,云7加油

oddEven_duxiaowen.zip

1007 Bytes, 阅读权限: 100, 下载次数: 1

区别奇偶数

评分

参与人数 1技术分 +5 收起 理由
FFF + 5 完成基本功能+5

查看全部评分

回复 使用道具 举报
FFF 金牌黑马 2013-12-4 10:27:25
43#

有bug,输入01时,会输出数据,而不是提示异常、当输入1时,提示异常。bug-1
正则额外+1
共+5技术分!
回复 使用道具 举报
答案提交
TestDemo.zip (656 Bytes, 下载次数: 1)

评分

参与人数 1黑马币 +1 收起 理由
FFF + 1 没有人机交互,没有异常处理。没有完成功能.

查看全部评分

回复 使用道具 举报
FFF 金牌黑马 2013-12-4 10:33:34
45#
杨丽静 发表于 2013-12-4 10:10
import java.io.*;
import java.util.*;
/*

当输入字符时(比较FFF),会抛出异常没有处理。而且。自然数x的范围是2到10000而不是0到10000呢~如果有疑问可以联系我!群里能找到我的QQ等联系方式。
回复 使用道具 举报
杨丽静 发表于 2013-12-4 10:10
import java.io.*;
import java.util.*;
/*

异常这块学的不太好,运用的不熟练能不能让我看一看,您点评比较好的,异常处理得比较好的帖子
回复 使用道具 举报
FFF 金牌黑马 2013-12-4 10:46:26
47#
本帖最后由 FFF 于 2013-12-4 10:47 编辑
杨丽静 发表于 2013-12-4 10:44
异常这块学的不太好,运用的不熟练能不能让我看一看,您点评比较好的,异常处理得比较好的帖子 ...


有的,到时你再回来看看好了!我会公布所有的答案的。到时你可以看看我加分高的。都是实现得比较好的!
异常处理,不一定要用try与throw。只有你充分考虑到“异常”这种情况,就算是对异常进行了处理!
回复 使用道具 举报
提交答案,哈哈

奇偶数分离.zip

1.54 KB, 阅读权限: 100, 下载次数: 2

评分

参与人数 1技术分 +5 收起 理由
FFF + 5 实现了基本功能,但下次别提交多个文档.

查看全部评分

回复 使用道具 举报
本帖最后由 Θ动@咚Θ 于 2013-12-6 08:54 编辑

邢栋 安卓28

邢栋 安卓28期 Jioushuchu.zip

892 Bytes, 阅读权限: 100, 下载次数: 1

评分

参与人数 1技术分 +5 收起 理由
FFF + 5 实现基本功能+5

查看全部评分

回复 使用道具 举报
FFF 金牌黑马 2013-12-5 09:48:16
50#
本帖最后由 FFF 于 2013-12-6 09:14 编辑

下次要再细心一点哦~
回复 使用道具 举报
本帖最后由 Θ动@咚Θ 于 2013-12-6 08:50 编辑

版主辛苦了!!!
回复 使用道具 举报
秋晨 发表于 2013-12-4 11:08
提交答案,哈哈

我的技术分够啦,哈哈,谢谢版主
回复 使用道具 举报
import java.util.Scanner;
//自定义一个异常类,用于显示输入的数字不在2~10000范围类的异常。
class YiChang extends Exception{
        //自定义异常了构造函数
        public YiChang(String msg) {
                super(msg);
        }       
}

public class PrintData{
        //主函数
        public static void main(String[] args) {
                //调用shuRu从键盘接收一个数字,并赋值给data。
                int data = 0;
                try {
                        //从键盘接收一个整型数字并复制给data,
                        //如果输入的不是整型nextInt会自动抛出异常。
                        data = new Scanner(System.in).nextInt();
                        //输出1~x的奇数。
                        jiShu(data);
                        //输出0~x的偶数。
                        ouShu(data);
                } catch (Exception e) {
                        //捕获输入的不是整数的这个异常并进行处理。
                        System.out.println("输入的不是整数!");
                }
        }

        public static void jiShu(int data){
                try {
                        //判断输入的整型数字是否在2~10000范围内。
                        if ((data>=2)&&(data<=10000)) {
                                System.out.println("1到"+ data +"范围的奇数有:");
                                //如果整型数组在范围了则打印出1~data范围内的奇数。
                                for (int i = 1; i <= data; i += 2)
                                        System.out.print(i + " ");
                                System.out.println();
                        }
                        else {
                                //如果不在2~10000范围内则抛出自定义的异常。
                                throw new YiChang("输入的数字格式不正确!");
                        }
                } catch (Exception e) {
                        System.out.println("请仔细输入。");
                }
        }
        public static void ouShu(int data){
                try {
                        //判断输入的整型数字是否在2~10000范围内。
                        if ((data>=2)&&(data<=10000)){
                                System.out.println("0到"+ data +"范围的偶数有:");
                                //如果整型数组在范围了则打印出0~data范围内的偶数。
                                for (int i = 0; i <= data; i += 2)
                                        System.out.print(i + " ");
                                System.out.println();
                        }
                        else {
                                //如果不在2~10000范围内则抛出自定义的异常。
                                throw new YiChang("输入的数字格式不正确!");
                        }
                } catch (Exception e) {
                        System.out.println("请仔细输入。");
                }
        }
}


评分

参与人数 1技术分 +5 收起 理由
FFF + 5 实现基本功能+5、其实你的代码还可以更简单.

查看全部评分

回复 使用道具 举报
  1. /*
  2. 要求:输入整型自然数x,且,要求先把1到x中的所有奇数从小到大输出,再把所有的偶数从小到大输出。

  3. 思路:
  4.         获取字符;
  5. 1,判断输入是否为整数;
  6. 2,判断输入是否符合要求的整数;
  7. 3,遍历整数中的奇数偶数存入各自的StringBuilder;
  8. 4,打印StringBuilder;
  9. */

  10. import java.io.*;
  11. import java.lang.*;
  12. import java.util.*;

  13. class TestDemo
  14. {
  15.         public static void main(String[] args)
  16.         {
  17.                         System.out.println("请输入整数大于2小于10000:");
  18.                         while(true)                                                                                //循环输入
  19.                         {       
  20.                                 try
  21.                                 {
  22.                                         Scanner input = new Scanner(System.in);   //定义一个Scanner对象获取输入字符
  23.                                         int num=input.nextInt();                                //将获取的字符转换为int型;
  24.                                         if(num<=10000 && num>=2)                                //判断是否符合题目要求的数据;
  25.                                         {
  26.                                                 myOutput(num);                                                //调用自己的myOutput输出方法;
  27.                                                 break;
  28.                                         }
  29.                                         else
  30.                                                 System.out.println("请输入大于2小于10000整数!");
  31.                                 }
  32.                                 catch(Exception e)                                                        //捕捉异常,input.nextInt()如果不是整数转换抛出异常;
  33.                                 {
  34.                                         System.out.println("输入不是整数,请重新输入!");
  35.                                 }
  36.                                
  37.                         }

  38.         }
  39.                  

  40.         public static void myOutput(int  num)
  41.         {
  42.                  StringBuilder sb1 = new StringBuilder();                //新建StringBuilder对象 存放偶数
  43.                  StringBuilder sb2 = new StringBuilder();                //新建StringBuilder对象 存放奇数

  44.                  for (int x=0;x<=num ;x++ )                                         //循环判断
  45.                  {
  46.                          if (x%2 == 0)                                                                 //是否为偶数
  47.                          {
  48.                                  sb1.append(x);                                                        //将偶数存入Stringbuilder
  49.                                  sb1.append(" ");               
  50.                          }       
  51.                                 
  52.                          else
  53.                          {       
  54.                                  sb2.append(x);                                                        //将奇数存入StringBuilder
  55.                                  sb2.append(" ");                       
  56.                          }
  57.                  }

  58.                  System.out.println(sb1.toString());                        //打印偶数
  59.                  System.out.println(sb2.toString());                        //打印奇数
  60.         }
  61.        
  62. }
复制代码


评分

参与人数 1技术分 +5 收起 理由
FFF + 5 完成基本功能+5

查看全部评分

回复 使用道具 举报
看到的晚了,希望还来得及吧,马上就要面试,就要开班了,分数还差那么一大截。恳请版主开恩,多加点儿分吧{:soso_e154:}
  1. import java.io.BufferedReader;
  2. import java.io.InputStreamReader;
  3. import java.util.ArrayList;
  4. import java.util.Arrays;
  5. import java.util.List;

  6. /*
  7.   需求:1.输入整型自然数x,且2<= x<=10000,要求先把1到x中的所有奇数从小到大输出,再把所有的偶数从小到大输出。
  8. *            2.要考虑当用户输入非整形字符时或超出范围的的异常处理。
  9. *            3.代码必须有完整的注释。否则0分处理。
  10. *            4.代码尽可能的简单,用高的效率实现最快的速度。(完成时,有加分。未完成、对成绩没有影响)
  11. *            5.完成基本功能,加3分。完成基本功能,有注释,效率高,有5分。(江湖传闻:听说~如果完成得特别优秀者,加10分~~~)
  12. */
  13. public class Distinguish {
  14.        
  15.         //主函数入口
  16.         public static void main(String[] args) {
  17.                 try {
  18.                         firstInput();
  19.                 } catch (Exception e) {
  20.                         e.printStackTrace();
  21.                 }
  22.         }
  23.        
  24.         //接收输入字符转换的数值
  25.         static int num;
  26.        
  27.         //定义第一次输入自然数的方法
  28.         public static void firstInput() throws Exception{
  29.                 System.out.println("请输入要区分奇偶的整数。。。");
  30.                 BufferedReader inputFir = new BufferedReader(new InputStreamReader(System.in));
  31.                
  32.                 String firstGet = inputFir.readLine();
  33.                
  34.                 if(isNumber(firstGet)){                //判断是否是整数
  35.                         if(isLegal(firstGet)){        //判断是否是非法的
  36.                                 sortAndDist(num);
  37.                         }
  38.                         else{
  39.                                 System.out.println("输入值超出设定范围,请重新输入");
  40.                                 firstInput();
  41.                         }
  42.                 }
  43.                 else{
  44.                         secondInput();
  45.                 }
  46.                
  47.         }
  48.        
  49.         //判断输入值是不是整数的方法
  50.         public static boolean isNumber(String get) throws Exception{
  51.                 char[] charArr = get.toCharArray();
  52.                
  53.                 boolean flag = false;
  54.                 for(int i=0; i<charArr.length; i++){
  55.                        
  56.                         flag = !Character.isLetter(charArr[i]);//false
  57.                 }

  58.                 return flag;
  59.         }
  60.        
  61.         //第二次输入方法
  62.         public static void secondInput() throws Exception{
  63.                
  64.                         System.out.println("请输入0-10000的正整数。。。");
  65.                         BufferedReader inputSec = new BufferedReader(new InputStreamReader(System.in));
  66.                         String secondGet = inputSec.readLine();
  67.                        
  68.                                 if(isLegal(secondGet)){        //判断是否是非法的
  69.                                         sortAndDist(num);
  70.                                 }
  71.                                 else{
  72.                                         System.out.println("输入值超出设定范围,请重新输入");
  73.                                         firstInput();
  74.                                 }
  75.         }
  76.        
  77.         //判断输入值是否位于指定区间的方法
  78.         public static boolean isLegal(String get){
  79.                 char[] charArr = get.toCharArray();
  80.                
  81.                
  82.                 for(int i=0; i<charArr.length; i++){
  83.                         if(Character.isDigit(charArr[i]))
  84.                                 num = Integer.parseInt(get);
  85.                 }
  86.                 boolean flag = (num>0 && num<10000);

  87.                 return flag;
  88.         }

  89.        
  90.         //打印结果
  91.         public static void sortAndDist(int num){
  92.                
  93.                 System.out.println(getOdd(num));
  94.                 System.out.println(getEven(num));
  95.                
  96.         }
  97.        
  98.         //取奇数
  99.         public static List<Integer> getOdd(int num){
  100.                 List<Integer> odd = new ArrayList<Integer>();
  101.                
  102.                 for(int i=0; i<=num; i++){
  103.                         int tmp = i;
  104.                         if(tmp%2 != 0){
  105.                                 odd.add(tmp);
  106.                         }
  107.                 }
  108.                 Arrays.sort(odd.toArray());
  109.                 return odd;
  110.         }
  111.        
  112.         //取偶数
  113.         public static List<Integer> getEven(int num){
  114.                 List<Integer> even = new ArrayList<Integer>();
  115.                
  116.                 for(int i=0; i<=num; i++){
  117.                         int tmp = i;
  118.                                 if(tmp%2 == 0){
  119.                                         even.add(tmp);
  120.                                 }
  121.                 }
  122.                 Arrays.sort(even.toArray());
  123.                 return even;
  124.         }
  125.        
  126.        
  127. }
复制代码

评分

参与人数 1技术分 +4 收起 理由
FFF + 4 详细评价见回复

查看全部评分

回复 使用道具 举报
本帖最后由 那些人之一 于 2013-12-6 15:07 编辑
  1. <IMG border=0 alt="" src="http://bbs.itheima.com/forum.php?mod=image&aid=31666&size=300x300&key=16925f1c28ac04de&nocache=yes&type=fixnone" aid="attachimg_31666">/*
  2. 需求:1.输入整型自然数x,且2<=x<=10000,要求先把1到x中的所有奇数
  3. 从小到大输出,再把所有的偶数从小到大输出。
  4. 2.要考虑当用户输入非整型字符时或超出范围的异常处理。
  5. 思考;1.首先要完成输入功能。
  6. 2.要判断是否是整型,是否超出范围
  7. 3.把从0到X的数字进行奇数偶数判断,分别输出
  8. */
  9. import java.util.Scanner;
  10. class Activity
  11. {
  12. public static void main(String[] args)
  13. {
  14. Scanner input=new Scanner(System.in);   System.out.println("please input one mach:");
  15. try
  16. {
  17. // 判断是否为整型,不是就catch
  18. int num=input.nextInt();   //完成输入功能
  19. //完成超出范围,以及输入其他类型的判断与处理
  20. if(num<=2||num>=10000) //判断是否在范围里
  21. {
  22. System.out.println("You input is too big or small");
  23. }
  24. else
  25. {
  26. for (int x=0;x<=num ;x++ ) // 判断奇数偶数分别输出
  27. {
  28. if(x%2==0)
  29. {
  30. System.out.print(" "+x);
  31. }
  32. }
  33. System.out.println();
  34. for (int x=0;x<=num ;x++ )
  35. {
  36. if(x%2!=0)
  37. System.out.print(" "+x);
  38. }
  39. }
  40. }
  41. catch (Exception e) // 如果不是整型 ,输出重新输入
  42. {
  43. System.out.println("please input new ");
  44. }





  45. }
  46. }

  47. PS:第一次参加活动啊  ,毕老师的视频都还没看完就来了,本来是想把功能进行封装,但是担心时间来不及,先发了。
复制代码

360截图20131206145725531.jpg (41.58 KB, 下载次数: 34)

运行结果图

运行结果图

评分

参与人数 1技术分 +5 收起 理由
FFF + 5 简单,直接的实现了功能+5

查看全部评分

回复 使用道具 举报
版主改作业了

PointTest.rar

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

评分

参与人数 1技术分 +5 收起 理由
FFF + 5 评价请见回复。

查看全部评分

回复 使用道具 举报
FFF 金牌黑马 2013-12-6 23:12:06
58#
乔_博_文 发表于 2013-12-6 13:50
看到的晚了,希望还来得及吧,马上就要面试,就要开班了,分数还差那么一大截。恳请版主开恩,多加点儿分吧 ...

实现基本的功能+5、输入1时,有输出,而不是异常-1、注释太少-1、使用正则+1额外+1
最后得分+4.
回复 使用道具 举报
FFF 金牌黑马 2013-12-6 23:21:14
59#

完成了基本功能。但因技术已经达到>=25,所以没有任何额外技术++。哈哈哈~~~
回复 使用道具 举报
FFF 金牌黑马 2013-12-6 23:32:33
60#
感谢大家的参与。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马