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]); } } } }