JAVA基础06

练习题

=============================================================

第七题

       1.定义方法 isSXH(int num)

              功能判断数字num是否是水仙花数,如果是返回true,如果不是返回false

       2.在主方法中,键盘录入数据,调用isSXH方法,判断传入的数据是否为水仙花数,如果是就输出xxx为水仙花数,否则就输出xxx不是水仙花数

              演示

                       请输入一个三位整数

                       100

                       100不是水仙花数

                      

import java.util.Scanner;

public class demo1 {

    public static void main(String[] args) {
        int num;
        Scanner sc = new Scanner(System.in);
        while (true) {
            System.out.println("请输入一个三位整数");
            num = sc.nextInt();
            isSXH(num);
        }
    }
    static void isSXH(int num){
        int ge=num%10;
        int shi=num%100/10;
        int bai=num/100;
        if (ge*ge*ge+shi*shi*shi+bai*bai*bai==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

import java.util.Scanner;

public class demo2 {

    public static void main(String[] args) {
        int num;
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入第一个整数");
        int a = sc.nextInt();
        System.out.println("请输入第二个整数");
        int b = sc.nextInt();
        System.out.println("请输入您要进行的运算(0表示加法运算,1表示减法运算,2表示乘法运算,3表示除法运算)");
        int c = sc.nextInt();
        switch (c){
            case 0:
               num = a+b;
                System.out.println(a+"+"+b+"="+num);
            break;
            case 1:
                num = a-b;
                System.out.println(a+"-"+b+"="+num);
                break;
            case 2:
                num = a*b;
                System.out.println(a+"*"+b+"="+num);

                break;
            case 3:
                num = a/b;
                System.out.println(a+"/"+b+"="+num);
                break;

            default:
                System.out.println("您输入的数值有误");
                break;
        }
    }
}

                   

第九题

       分析以下需求,并用代码实现

              1.创建两个长度为5的数组,数组内元素为随机生成的 1-100之间的偶数。(r.nextInt(50)+1)2

              2.定义一个方法hebin(描述如下),传入两个数组,方法中将两个数组元素合并到一个新数组中,并且将新数组的内容打印到控制台上

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

public class demo3 {

    public static void main(String[] args) {
        int arr1[] = new int[5];
        int arr2[] = new int[5];
        Random ra = new Random();
        for (int i = 0;i<arr1.length;i++){
            int a = ra.nextInt(100)+1;
            if (a%2==0){
                arr1[i]=a;
            }
        }
        for (int i = 0;i<arr1.length;i++){
            int a = ra.nextInt(100)+1;

            if (a%2==0){
                arr2[i]=a;
            }
        }
        hebing(arr1,arr2);


    }
   static void hebing(int arr1 [],int arr2[]){
            int arr3[]= new int[arr1.length+arr2.length];
            for (int i = 0; i<arr1.length;i++){
                arr3[i]=arr1[i];
        }
       for (int i = 0; i <arr2.length ; i++) {
           arr3[arr1.length+i]=arr2[i];

       }
       for (int i:arr3)
             {
                 System.out.println(i);
       }
    }

}

             

第十题

       分析以下需求,并用代码实现

              1.创建一个储存整数的集合,键盘录入5个数据存入集合

              2.遍历集合,将集合中大于10的元素打印到控制台上,并求和.

             

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

public class demo4 {

    public static void main(String[] args) {
        ArrayList<Integer> ar= new ArrayList<Integer>();
        Scanner sc = new Scanner(System.in);
        for (int i = 0; i <5 ; i++) {
            System.out.println("请输入第"+(i+1)+"个数");
            ar.add(sc.nextInt());
        }
        int sum = 0;

        for (int i = 0; i <ar.size() ; i++) {
            if (ar.get(i)>10){
                System.out.println(ar.get(i));
                 sum=sum+ ar.get(i);
            }
        }
        System.out.println("总和为:"+sum);

    }
}

             

第十一题

       分析一下需求,并用代码实现

              1.创建一个储存整数的集合,随机产生10个两位数存入集合

              2.定义一个方法,将集合传入,筛选出其中所有小于50的元素,存入新的集合中,将新集合返回

              3.在主方法中,调用2中的方法,将1中的集合传入,得到返回的集合,将返回的集合遍历打印.

             

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

public class demo5 {

    public static void main(String[] args) {
        ArrayList<Integer> ar1= new ArrayList<>();
        Random ra = new Random();
        for (int i = 0; i <10 ; i++) {
            int a = ra.nextInt(99);

            ar1.add(i,a);
        }
        System.out.println(ar1);
        System.out.println(bidaxiao(ar1));
    }


  static    ArrayList<Integer>   bidaxiao(ArrayList<Integer> ar1)
  {
      ArrayList<Integer> ar2= new ArrayList<>();
      for (int i = 0; i <ar1.size(); i++) {
          if (ar1.get(i)<50){
              ar2.add(i,ar1.get(i));
          }
      }
      return ar2;
  }


}

???

             

第十二题

       根据要求完成以下功能:

              a.定义ArrayList集合,存入如下整数:

                     11,22, 55,66, 77 , 88

              b.遍历集合,删除大于60的元素,在控制台打印输出删除后的集合中所有元素

             

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

public class demo5 {

    public static void main(String[] args) {
        ArrayList<Integer> ar1 = new ArrayList<>();
        ar1.add(0,11);
        ar1.add(1,22);
        ar1.add(2,55);
        ar1.add(3,66);
        ar1.add(4,77);
        ar1.add(5,88);
        for (int i = 0; i <ar1.size() ; i++) {
            if (ar1.get(i)>60){
                continue;
            }else {
                System.out.println(ar1.get(i));
            }
        }
    }
}

             

第十三题

       按要求在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.ArrayList;
import java.util.Random;
import java.util.Scanner;

public class demo6 {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
    int [] a1 = new int[5];
    int num;
        Random ra = new Random();
        for (int i = 0; i <a1.length ; i++) {
            a1[i]=ra.nextInt(99)+1;
        }
        System.out.println("输入2-5之间的一个数字num(num范围包括2和5)");
        num = sc.nextInt();
        for (int i = 0; i <a1.length; i++) {
            if (a1[i]%num==0){
                System.out.println(a1[i]);
            }
        }
    }
}
原文地址:https://www.cnblogs.com/coder-ahao/p/13830671.html