学习Java的第六天

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

import java.util.Scanner;

public class TTst01 {
    public static void main (String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入一个三位整数:");
        int i = scanner.nextInt();
        if (isSXH(i) == i) {
            System.out.println(i + "是水仙花数");
        } else {
            System.out.println(i + "不是水仙花数");
        }
    }
        public static int isSXH(int num){
            int hb=num/100%10;
            int tn=num/10%10;
            int a=num%10;
            if (hb*hb*hb+tn*tn*tn+a*a*a==num) {
                return num;
            }
            return 0;
        }

    }

 

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

import java.util.Scanner;

public class TTst02 {

    public static void main(String[] args) {
        int a;
        int b;
        int arc;
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入第1个数:");
        a = scanner.nextInt();
        System.out.print("请输入第2个数:");
        b = scanner.nextInt();
        System.out.print("请输入需要进行的运算:(输入0:加法,输入1:" +
                "减法,输入2:乘法,输入3:除法,):");
        arc = scanner.nextInt();
        arithmetic(a, b, arc);
    }

    public static void arithmetic(int a, int b, int arc) {
        if (arc == 0) {
            System.out.println(a + b);
        } else if (arc == 1) {
            System.out.println(a - b);
        } else if (arc == 2) {
            System.out.println(a * b);
        } else if (arc == 3) {
            System.out.println(a / b);
        }
    }
}

 

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

import java.util.Arrays;
import java.util.Random;

public class TTst03 {
        public static void main(String[] args){
            int [] a=new int[5];
            int [] b=new int[5];
            int []c={0};
            c= Arrays.copyOf(c,a.length+b.length);
            Random random = new Random( );
            for (int j= 0; j< a.length; j++) {
                a[j]=(random. nextInt( 50)+1*2);
                b[j]=(random. nextInt( 50)+1*2);
            }
            System.out.println(Arrays.toString(a));
            System.out.println(Arrays.toString(b));
            for (int i = 0; i< a.length; i++) {
                c[i]=a[i];
            }
            for (int i = 0; i< b.length; i++){
                c[a.length+i]=b[i];
            }
            System.out.println(Arrays.toString(c));
        }
    }

 


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

import java.util.ArrayList;
import java.util.Scanner;

public class TTst04 {


        public static void main(String[ ] args) {
            int sum=0 ;
            ArrayList<Integer> list = new ArrayList<>();
            Scanner scanner = new Scanner(System.in);
            for (int i = 0; i<5 ; i++){
                System.out.print("请输入一个整数:");
            list.add(scanner.nextInt());
            }
            for (int i =0; i < list.size(); i++) {
                if (list.get(i)>10){
                    sum+=list.get(i);
                }
            }
            System.out.println("集合中大于10的值的和为: "+sum);
        }
    }

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

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

public class TTst05 {

        public static void main(String[] args) {
            ArrayList<Integer> list = new ArrayList<>();
            Random random = new Random();
            for (int i = 0; i < 100; i++) {
                int a = (random.nextInt(99) + 1);
                if (a >= 10) {
                    list.add(a);
                }
                if (list.size() == 10) {
                    break;
                }

            }
            System.out.println(list);
            List<Integer> newList=newList(list);
            System.out.println(newList);
        }
            public static List<Integer> newList(ArrayList<Integer>list){
                ArrayList<Integer> newLi=new ArrayList<Integer>();
                for (int i = 0; i<list.size();i++) {
                    if (list.get(i)<50){
                        newLi.add(list.get(i));
                    }
                }
                return newLi;

            }
        }

 


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

import java.util.ArrayList;

public class TTst06 {

        public static void main(String[] args) {
            ArrayList<Integer> list = new ArrayList<Integer>(){
                {
                    add(11);
                    add(22);
                    add(55);
                    add(66);
                    add(77);
                    add(88);
                }
            };
            for (int i = 0; i < list.size(); i++) {
                if (list.get(i)>60){
                    list.remove(list.get(i));

                    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

import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;

public class TTst07 {

        public static void main(String[] args){
            int []arr=new int[5];
            Random random = new Random();
            Scanner scanner = new Scanner(System.in);
            for (int i = 0; i < arr.length; i++) {
                arr[i]=random.nextInt( 100);
            }
            System.out.println("随机生成的数组元素为: "+ Arrays.toString(arr));
            System.out.print("请输入2-5之间的一个数字: ");
            int a=scanner.nextInt();
            for(int i = 0; i < arr.length; i++) {
                if (arr[i]%a==0){
                    System.out.print(arr[i]+"\t" );
                }
            }
        }

    }

 

posted @ 2020-10-17 19:29  A路人丙  阅读(87)  评论(0编辑  收藏  举报