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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 方志强 初级黑马   /  2018-12-14 12:32  /  547 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

通过十几天的学习下来,我对Java这门语言有了一点初步的了解,虽然我现在所学的连皮毛也算不上,但是不积跬步,无以至千里;不积小流,无以成江海,路是一步一步走出来的。几天的学习下来,我也略有所得,下面我来分享一个自己通过分析敲写代码的过程。虽然在别人看来实在是太基础、太肤浅,但是这也是记录我学习Java的思路历程,见证我的进步。题目虽然看起来简单,但其中的解题过程却显得比较有趣,可以说是把我目前学到的Java基础知识串联到一起,也算是对之前知识点的回顾。


问题:
提示用户输入5个100-200(包含100和200)之间的数字(数字可以重复),如果输入的数字范围不对,提示“数字超出范围,请重新输入”,如果输入的数字符合要求,则判断是奇数还是偶数,将偶数存入到一个集合,将奇数存入到另一个集合中,并按要求打印集合元素

问题分析:首先提到输入,代表需要用到Scnaner类,Scanner类的包位于Java.util包下,还需要导包语句。而需要输入5个100-200之间的数字,则需要用到循环,并且要在循环内部判断输入的数据是否在100-200之间。如果布符合要求,则需要重新输入,代表循环的次数不确定,在循环次数不确定的情况下,使用while循环不失为一种好的选择。而数据符合要求的话,还要进行二次判断数据为奇数还是偶数,奇数存入奇数集合中,偶数存入偶数集合中,则需要用到ArrayList<>集合来存储数据。下面来开始我的解题过程:




//导包语句
import java.util.ArrayList;       
import java.util.Scanner;

public class Demo{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);                /*定义一个Scanner类来实现键盘输入*/
        ArrayList<Integer> list1 = new ArrayList<>();   //新建奇数集合list1
        ArrayList<Integer> list2 = new ArrayList<>();   //新建偶数集合list2
        int i = 1;  //初始化语句
/*由于输入过程中可能有不符合条件的数据,输入的次数不确定,所以选择while循环语句*/
        while (i <= 5) {
/*提示输入第i个数字,由于初始化语句里i的值为1 ,所以显示:
请输入第1个数字:
*/
            System.out.println("请输入第" + i + "个数字:");
            Integer a = sc.nextInt();
//对输入数据进行第一次判定,如果符合要求的话才能继续
            if (a >= 100 && a <= 200) {
//如果数据为奇数,添加到奇数集合,步进表达式执行一次
                if (a % 2 == 1) {
                    list1.add(a);
                    i++;
//如果不为奇数那么就是偶数,添加到偶数集合,步进表达式执行一次
                } else {
                    list2.add(a);
                    i++;
                }
/*如果不符合要求则显示"数字超出范围,请重新输入!",回到循环体第一句并且没有步进表达式*/
            } else {
                System.out.println("数字超出范围,请重新输入!");
            }
        }
//奇数集合遍历
        System.out.print("奇数集合:");
        for (int i1 = 0; i1 < list1.size(); i1++) {
            System.out.print(list1.get(i1) + "    ");
        }
        System.out.println();
//偶数集合遍历

        System.out.print("偶数集合:");
        for (int i1 = 0; i1 < list2.size(); i1++) {
            System.out.print(list2.get(i1) + "    ");
        }
    }
}

运行结果:
请输入第 1 个数字:
121
请输入第 2 个数字:
145
请输入第 3 个数字:
130
请输入第 4 个数字:
100
请输入第 5 个数字:
200
奇数集合:121   145
偶数集合:130   100   200

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马