• java【Scanner,Random,ArrayList】的用法(了解80%~90%)


    第一题:
    1.定义方法 isSXH(int num)
    功能:判断数字num是否是水仙花数,如果是返回true,如果不是返回false
    2.在主方法中,键盘录入数据,调用isSXH方法,判断传入的数据是否为水仙花数,如果是就输出"xxx为水仙花数",否则就输出"xxx不是水仙花数"
    演示:
    请输入一个三位整数:
    100
    100不是水仙花数

    package demo;
    import java.util.Scanner;
    public class Demo04 {
        public static void main(String[] args) {
            isSXH();
        }
        static void isSXH(){
            Scanner s1=new Scanner(System.in);
            System.out.println("请输入一个三位整数");
            int num = s1.nextInt();
            int g=num%10;//个位
            int s=num/10%10;//十位
            int b=num/100;//百位
            if (g*g*g+s*s*s+b*b*b==num){
                System.out.println(num+"是水仙花数");
            }else {
                System.out.println(num+"不是水仙花数");
            }
    
        }
    }

    第二题:
    1.模拟计算器功能,对键盘录入的两个int类型的数据进行加、减、乘、除的运算,并打印运算结果
    要求:
    (1)键盘录入三个整数,其中前两个整数代表参加运算的数据,
    第三个整数为要进行的运算(0:表示加法运算,1:表示减法运算,2:表示乘法运算,3:表示除法运算)
    (2)演示格式如下:
    请输入第一个整数:30
    请输入第二个整数:40
    请输入您要进行的运算(0:表示加法运算,1:表示减法运算,2:表示乘法运算,3:表示除法运算):0
    控制台输出:30+40=70

    package demo;
    import java.util.Scanner;    
    public class Demo05 {
        public static void main(String[] args) {
            Scanner s1=new Scanner(System.in);
            System.out.println("请输入第一个整数:");
            int a = s1.nextInt();
            System.out.println("请输入第二个整数:");
            int b = s1.nextInt();
            System.out.println("0:表示加法运算,1:表示减法运算,2:表示乘法运算,3:表示除法运算,请您选择...,确认无误,点击回车");
            switch (s1.next()){
                case "0":
                    System.out.println(a+b);
                    break;
                case "1":
                    System.out.println(a-b);
                    break;
                case "2":
                    System.out.println(a*b);
                    break;
                case "3":
                    System.out.println(a/b);
                    break;
                default:
                    System.out.println("请按照规定(0:表示加法运算,1:表示减法运算,2:表示乘法运算,3:表示除法运算)选择...");
            }
        }
    }

    第三题:
    分析以下需求,并用代码实现
    1.创建两个长度为5的数组,数组内元素为随机生成的 1-100之间的偶数。(r.nextInt(50)+1)*2
    2.定义一个方法hebin(描述如下),传入两个数组,方法中将两个数组元素合并到一个新数组中,并且将新数组的内容打印到控制台上

    package demo;
    import java.util.Arrays;
    public class Demo06 {
        public static void main(String[] args) {
            Demo06 d=new Demo06();
            int []sums=d.hebin(8);
            //调用方法并将返回值Cun到变量中
            System.out.println(Arrays.toString(sums));
        }
        public  int[] hebin(int length){
            //定义指定的Chang度的整型数组
            int [] sums=new int[length];
            //循环遍历数组赋值
            for (int i=0;i<sums.length;i++){
                //生一个100以内的随机数,并赋值
                sums[i]= (int) ((Math.random()*50)+1)*2;
            }
            return sums;//返回赋值后的数组
        }
    }

    第四题:
    分析以下需求,并用代码实现
    1.创建一个储存整数的集合,键盘录入5个数据存入集合
    2.遍历集合,将集合中大于10的元素打印到控制台上,并求和.

    package demo;
    import java.util.ArrayList;
    import java.util.Scanner;
    public class Demo07 {
        public static  void main(String[] args) {
            ArrayList<Integer> list=new ArrayList<Integer>();
            Scanner s1=new Scanner(System.in);
            System.out.println("请输入你想输入的五个数字:");
            int sum=0;
            for (int i = 0; i < 5; i++) {
                list.add(s1.nextInt());
            }
            for (int j = 0; j <list.size(); j++) {
                if (list.get(j)>10){
                    System.out.print(" "+list.get(j));
                    sum+=list.get(j);
                }
            }
            System.out.print("
    大于10的数值和为"+sum);
        }
    }        

    第五题:
    分析一下需求,并用代码实现
    1.创建一个储存整数的集合,随机产生10个两位数存入集合
    2.定义一个方法,将集合传入,筛选出其中所有小于50的元素,存入新的集合中,将新集合返回
    3.在主方法中,调用2中的方法,将1中的集合传入,得到返回的集合,将返回的集合遍历打印.

    package demo;
    import java.util.ArrayList;    
    public class Demo11 {
        public static void main(String[] args) {
            ArrayList<Integer> list = new ArrayList<Integer>();    
        for (int i = 0; i <50; i++) {
                    int num= (int) (Math.random()*(99-10+1)+10);
                    //System.out.println(num);
                    list.add(num);
            }
                ArrayList<Integer> list2=number(list);
                //遍历
               System.out.print("小于50的数为"+list2.size()+"   ");
               for (int i = 0; i <list2.size(); i++) {
    
                System.out.print(" "+list2.get(i));
            }
    }
        public static ArrayList<Integer> number(ArrayList<Integer> list) {
            ArrayList<Integer> list1=new ArrayList<>();
            for (int i = 0; i <list.size();i++) {
                int num=list.get(i);
                if (num<50){
                    list1.add(num);
                }
            }
            return list1;
        }
    }

    第六题:
    根据要求完成以下功能:
    a.定义ArrayList集合,存入如下整数:
    11,22, 55,66, 77 , 88
    b.遍历集合,删除大于60的元素,在控制台打印输出删除后的集合中所有元素

    package demo;
    import java.util.ArrayList;
    public class Demo09 {
        public static void main(String[] args) {
            ArrayList<Integer> list=new ArrayList<Integer>();
            list.add(11);
            list.add(22);
            list.add(55);
            list.add(66);
            list.add(77);
            list.add(88);
            for (int i = 0; i <list.size(); i++) {
                if (list.get(i) > 60) {
                    list.remove(i);
                }
            }System.out.println(list);
    
        }
    }

    第七题:
    按要求在main方法中完成以下功能:
    a.定义一个长度为5的int型数组arr,数组元素为1-99(范围包含1和99)之间的随机数
    b.提示用户输入2-5之间的一个数字num(num范围包括2和5,不需要代码判断)
    c.遍历数组arr,筛选出数组中元素是num倍数的数组元素并输出
    示例如下:
    随机生成的数组元素为:
    52 20 58 9 10
    请输入2-5之间的一个数字:
    5
    符合条件的元素为:
    20 10

    package demo;
    
    import java.util.Random;
    import java.util.Scanner;
    public class Demo10 {
        public static void main(String[] args) {
            int [] arr=new int[5];
            Random r1=new Random();
            Scanner s1=new Scanner(System.in);
            System.out.println("随机的数组中的元素为:");
            for (int i = 0; i <arr.length; i++) {
                arr[i]=r1.nextInt(99)+1;
                System.out.println(arr[i]+"    ");
            }
            System.out.println("
    "+"请输入2~5之间的一个数字:");
            //定义num为一个键盘输入数值
            int num= s1.nextInt();
            System.out.println("符合条件的元素为:");
            for (int i = 0; i <arr.length ; i++) {
                if (arr[i]%num==0){
                    System.out.println(arr[i]+" ");
                }
            }
        }
    }    

    另:Random还得进一步的了解,但是我发现可以用Math.random取代。

    -----------------------------------------------------------------------------------------------------------------------------------------------------------------

    感谢到访!感谢您的下次光临!

  • 相关阅读:
    函数
    文件的基本操作
    c语言程序设计案例教程(第2版)笔记(一)—零散、输入输出、最小公倍数、选择排序、冒泡排序
    c语言中的rand()函数用法
    c语言 error C4996: 'strupr': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name
    Python之列表生成式、生成器
    Python之迭代器
    Python之装饰器
    Linux之线程相关命令及常用命令
    重写、重构、重载区别
  • 原文地址:https://www.cnblogs.com/varchar-pig/p/13833159.html
Copyright © 2020-2023  润新知