work06
练习题:
=============================================================
第七题:
1.定义方法 isSXH(int num)
功能:判断数字num是否是水仙花数,如果是返回true,如果不是返回false
2.在主方法中,键盘录入数据,调用isSXH方法,判断传入的数据是否为水仙花数,如果是就输出"xxx为水仙花数",否则就输出"xxx不是水仙花数"
演示:
请输入一个三位整数:
100
100不是水仙花数
1 public class Dome01 { 2 public static void main(String[] args) { 3 4 System.out.println(isSXH()); 5 6 } 7 public static boolean isSXH(){ 8 Scanner sc=new Scanner(System.in); 9 System.out.println("请输入一个三位数"); 10 int num = sc.nextInt(); 11 int a=num/100; 12 int b=num/10%10; 13 int c=num%10%10; 14 int d=a*a*a+b*b*b+c*c*c; 15 if (num==d) { 16 System.out.println(num+"为水仙花数"); 17 }else { 18 System.out.println(num+"不是水仙花数"); 19 } 20 return num==d; 21 22 } 23 }
第八题:
1.模拟计算器功能,对键盘录入的两个int类型的数据进行加、减、乘、除的运算,并打印运算结果
要求:
(1)键盘录入三个整数,其中前两个整数代表参加运算的数据,
第三个整数为要进行的运算(0:表示加法运算,1:表示减法运算,2:表示乘法运算,3:表示除法运算)
(2)演示格式如下:
请输入第一个整数:30
请输入第二个整数:40
请输入您要进行的运算(0:表示加法运算,1:表示减法运算,2:表示乘法运算,3:表示除法运算):0
控制台输出:30+40=70
1 package com.hp.work06; 2 3 import java.util.Scanner; 4 5 public class Dome02 { 6 public static void main(String[] args) { 7 Scanner sc=new Scanner(System.in); 8 System.out.println("请输入第一个数"); 9 int a = sc.nextInt(); 10 System.out.println("请输入第二个数"); 11 int b = sc.nextInt(); 12 System.out.println("请输入您要进行的运算(0:表示加法运算,1:表示减法运算,2:表示乘法运算,3:表示除法运算)"); 13 int c = sc.nextInt(); 14 switch (c){ 15 case 0: 16 System.out.println(a+"+"+b+"="+(a+b)); 17 break; 18 case 1: 19 System.out.println(a+"-"+b+"="+(a-b)); 20 break; 21 case 2: 22 System.out.println(a+"*"+b+"="+(a*b)); 23 break; 24 case 3: 25 System.out.println(a+"/"+b+"="+(a/b)); 26 break; 27 } 28 29 30 } 31 }
第九题:
分析以下需求,并用代码实现
1.创建两个长度为5的数组,数组内元素为随机生成的 1-100之间的偶数。(r.nextInt(50)+1)*2
2.定义一个方法hebin(描述如下),传入两个数组,方法中将两个数组元素合并到一个新数组中,并且将新数组的内容打印到控制台上
1 package com.hp.work06; 2 3 import java.util.Random; 4 5 public class Dome03 { 6 public static void main(String[] args) { 7 int [] arr1=new int[5]; 8 int [] arr2=new int[5]; 9 10 Random ra=new Random(); 11 for (int i = 0; i <arr1.length ; i++) { 12 arr1[i]=ra.nextInt((50+1)*2); 13 arr2[i]=ra.nextInt((50+1)*2); 14 } 15 hebin(arr1,arr2); 16 } 17 public static void hebin(int []arr1, int []arr2){ 18 int []arr3=new int [arr1.length+arr2.length]; 19 for (int i = 0; i <arr1.length ; i++) { 20 arr3[i]=arr1[i]; 21 } 22 for (int i = 0; i <arr2.length ; i++) { 23 arr3[arr1.length+i]=arr2[i]; 24 } 25 for (int i = 0; i <arr3.length ; i++) { 26 System.out.println(arr3[i]); 27 } 28 } 29 }
第十题:
分析以下需求,并用代码实现
1.创建一个储存整数的集合,键盘录入5个数据存入集合
2.遍历集合,将集合中大于10的元素打印到控制台上,并求和.
1 package com.hp.work06; 2 3 4 import java.util.ArrayList; 5 import java.util.Scanner; 6 7 public class Dome04 { 8 public static void main(String[] args) { 9 ArrayList<Integer> list=new ArrayList<>(); 10 Scanner sc=new Scanner(System.in); 11 for (int j = 0; j <5 ; j++) { 12 System.out.println("请输入第"+(j+1)+"个数"); 13 int a = sc.nextInt(); 14 list.add(a); 15 } 16 int sum=0; 17 18 for (int i = 0; i <list.size() ; i++) { 19 if (list.get(i)>10) { 20 System.out.print(list.get(i)+","); 21 sum+=list.get(i); 22 } 23 } 24 System.out.println(); 25 System.out.println("大于10的数的总和为"+sum); 26 27 } 28 }
第十一题:
分析一下需求,并用代码实现
1.创建一个储存整数的集合,随机产生10个两位数存入集合
2.定义一个方法,将集合传入,筛选出其中所有小于50的元素,存入新的集合中,将新集合返回
3.在主方法中,调用2中的方法,将1中的集合传入,得到返回的集合,将返回的集合遍历打印.
1 package com.hp.work06; 2 3 import java.util.ArrayList; 4 import java.util.Random; 5 6 public class Dome05 { 7 public static void main(String[] args) { 8 ArrayList<Integer> list=new ArrayList<>(); 9 Random ra=new Random(); 10 for (int j = 0; j <10 ; j++) { 11 list.add(ra.nextInt(90)+10); 12 } 13 ArrayList<Integer> list1 = listarr(list); 14 for (int i = 0; i <list1.size() ; i++) { 15 System.out.println(list1.get(i)); 16 } 17 18 } 19 public static ArrayList<Integer> listarr(ArrayList<Integer> list){ 20 ArrayList<Integer> list1=new ArrayList<>(); 21 for (int i :list) { 22 if (i<50){ 23 list1.add(i); 24 } 25 } 26 // for (int i = 0; i <list.size() ; i++) { 27 // if (list.get(i)<50){ 28 // list1.add(list.get(i)); 29 // } 30 // 31 // } 32 return list1; 33 } 34 }
第十二题:
根据要求完成以下功能:
a.定义ArrayList集合,存入如下整数:
11,22, 55,66, 77 , 88
b.遍历集合,删除大于60的元素,在控制台打印输出删除后的集合中所有元素
1 package com.hp.work06; 2 3 import java.util.ArrayList; 4 5 public class Dome06 { 6 public static void main(String[] args) { 7 ArrayList<Integer> list=new ArrayList<>(); 8 list.add(11); 9 list.add(22); 10 list.add(55); 11 list.add(66); 12 list.add(77); 13 list.add(88); 14 for (int i = 0; i <list.size() ; i++) { 15 if (list.get(i)>60){ 16 list.remove(list.get(i)); 17 i--; 18 } 19 } 20 System.out.println(list); 21 } 22 }
第十三题:
按要求在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
1 package com.hp.work06; 2 3 import java.util.Random; 4 import java.util.Scanner; 5 6 public class Dome07 { 7 public static void main(String[] args) { 8 Random ra=new Random(); 9 int[]arr= new int[5]; 10 for (int i = 0; i <arr.length ; i++) { 11 arr[i]=ra.nextInt(99)+1; 12 } 13 System.out.print(" 随机生成的数组元素为:"); 14 for (int i = 0; i <arr.length ; i++) { 15 System.out.print(arr[i]+","); 16 } 17 System.out.println(); 18 System.out.println(" 请输入2-5之间的一个数字:"); 19 Scanner sc=new Scanner(System.in); 20 int num = sc.nextInt(); 21 System.out.println("符合条件的元素为:"); 22 for (int i = 0; i <arr.length ; i++) { 23 if (arr[i]%num==0) { 24 System.out.print(arr[i]+" "); 25 } 26 27 } 28 29 } 30 }