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