Java SE基础经典练习题

编程入门 行业动态 更新时间:2024-10-05 13:30:04

Java SE基础经典<a href=https://www.elefans.com/category/jswz/34/1768594.html style=练习题"/>

Java SE基础经典练习题

0. 打印水仙花数

水仙花数的核心思想就是数值拆分,结合循环一起使用。

需求:打印所有的水仙花数    什么是水仙花数:水仙花数是一个三位数,每一位数字的立方和等于该数本身举例:153=1*1*1+5*5*5+3*3*3
​
分析思路:1)使用for循环穷举所有的三位数2)获取每一个三位数的个位、十位、和百位3)判断这个三位数数是否满足水仙花数的规则这个数=个位*个位*个位+十位*十位*十位+百位*百位*百位4)把满足条件的三位数打印数出来
public class Demo1{public static void main(String[] args){//遍历所有的三位数for(int i=100; i<=999; i++){//求个位、十位、百位int ge = i%10;int shi = i/10%10;int bai = i/100%10;//判断是否满足水仙花数的条件if(ge*ge*ge + shi*shi*shi + bai*bai*bai == i){System.out.println(i);}}}
}

1. 随机点名器

需求:定义一个数组,存储一些学生的姓名,从数组中随机获取一个姓名。
​
思路:每次看到随机数,你就应该条件反射的想到随机数的三个步骤第一步:导包,注意只能写在class的上面import java.util.Random;第二步:创建Random对象(对象是可以帮你做事情的东西)Random r = new Random();第三步:调用nextInt(范围)方法,产生随机数int num = r.nextInt(n); //范围:[0,n)
//1.定义一个数组,存储一些学生的姓名
String[] array = {"张三","李四","王五","赵六","田七"};
​
//2.从数组中产生一个随机的索引
Random r=new Random();
int index = r.nextInt(array.length);
​
//3.通过索引获取元素
String name = array[index];
​
System.out.println("恭喜你选中了:"+name); 

2. 键盘录入

键盘录入的核心就是三个步骤

之前没有学习类和对象的概念,所以让大家把代码背下来但是我们学过类与对象的概念之后;代码可以简单解释一下了
​
Scanner使用解释:第一步导包: 导包的意思是告诉JVM(Java虚拟机),去哪一个文件夹下中去找Scanner类第二步创建Scanner对象: 创建Scanner对象其实就是在执行Scanner构造方法第三步键盘录入: 调用nextInt()方法完成键盘录入
//导包(由于这个类时别人的,我们使用时要先导入进来)
import java.util.Scanner;
public class ScannerTest{public static void main(String[] args){//创建Scanner对象(对象是可以帮你做事情的东西)Scanner sc = new Scanner(System.in); //调用芳方法完成键盘录入int num = sc.nextInt();System.out.println(num);}
}

使用键盘录入,往数组中的元素赋值

public class ArrayTest1 {public static void main(String[] args) {//键盘录入5个整数,存储到数组中int[] array = new int[5];Scanner sc = new Scanner(System.in);for(int i=0; i<array.length; i++){//键盘录入一个整数int num = sc.nextInt(); //把整数赋值给数组的元素array[i] = num; }}
}

3. 数组元素求和

数组元素求和,核心思想就是要有一个求和变量,然后累加。具体步骤如下

1.定义求和变量sum
2.遍历所有需要求和的数据
3.把数据和sum累加
public class ArrayTest2 {public static void main(String[] args) {int[] array = {10,20,30,40,50,60}//求和变量int sum=0; //数组的长度:array.lengthfor (int i = 0; i <array.length; i++) {//让数组的元素和sum累加sum+=array[i];} System.out.println("所有元素的和为:"+sum);}
}

将键盘录入数据存储在数组中,再求数组中元素的和

public class ArrayTest3 {public static void main(String[] args) {//键盘录入5个整数,存储到数组中int[] array = new int[5];Scanner sc = new Scanner(System.in);for(int i=0; i<array.length; i++){//键盘录入一个整数int num = sc.nextInt(); //把整数赋值给数组的元素array[i] = num; }//求和变量int sum=0; //数组的长度:array.lengthfor (int i = 0; i <array.length; i++) {//让数组的元素和sum累加sum+=array[i];} System.out.println("所有元素的和为:"+sum);}
}

4. 普通查找

需求:查找数组中元素第一次出现的索引
​
案例思路:    1.确定需要查找的元素2.遍历数组的元素和要查找的元素进行比较如果相等,获取索引,break跳出循环3.在循环外边定义一个index索引,如果找到了元素index记录索引;否则index等于-1
int[] array = {5,7,5,8,9,10,3,4,2,1};
​
//键盘录入一个整除
Scanner sc=new Scanner(System.in);
System.out.pritnln("键盘录入一个整数:");
int num=sc.nextInt();
​
//遍历数组获取每一个元素
int index=-1; 
for(int i=0;i<array.length;i++){if(array[i]==num){index=i;break;}
}
​
System.out.println(num+"的索引为:"+index);

5. 数组逆序

数组元素逆序的核心思维就是两个元素互换位置

int[] arr = {1,2,3,4,5,6,6,7,9};    
//把1索引和3索引的元素互换
int temp = arr[1];
arr[1] = arr[3];
arr[3] = temp;
需求:把数组中的元素逆序,如{1,2,3,4,5},逆序之后{5,4,3,2,1}
思路:1.初始化一个开始索引start,和结束索引end2.让start和end位置的元素互换,每次互换完成之后start++,end--3.直到start>end解结束循环
int[] array={1,2,3,4,5};
//对数组中的元素逆序
for(int start=0,end= array.length-1; start<=end; start++,end--){//把array[start]和array[end]进行互换int temp=array[start];array[start]=array[end];array[end]=temp;
}
//打印输出数组中的元素
for (int i = 0; i < array.length; i++) {System.out.print(array[i]+" ");
}

6. 数组元素求最值

求最值的思路就是带打擂台(你先要想清楚打擂台的规则,要尽可能的细致)

求最值的思路:1.假设数组中的0索引元素为最大值max(擂主)2.让其他的元素和max比较,把较大的值赋值给max(打赢的站在擂台上)3.最终max就是最大值(最后站在擂台上的就是最大值)
public class ArrayTest3 {public static void main(String[] args) {int[] array={1,3,46,8,2,5,9,7};
​//1.假设数组中的0索引元素为最大值(擂主)int max = array[0];
​//2.让其他的元素和max比较,把较大的值赋值给max(打赢的站在擂台上)for (int i = 1; i < array.length; i++) {if(array[i] > max){max = array[i]; //打赢的站在擂台上}}
​//3.最终max就是最大值(最后站在擂台上的就是最大值)System.out.println("最大值为:"+max); }
}

7. 数组元素查找

需求:查找数组中元素第一次出现的索引
​
思路:    1.确定需要查找的元素2.遍历数组的元素和要查找的元素进行比较如果相等,获取索引,break跳出循环3.在循环外边定义一个index索引,如果找到了元素index记录索引;否则index等于-1
public class ArrayTest4 {public static void main(String[] args) {int[] array={10,20,30,40,15,60,15,80};
​//1.确定需要查找的元素int key=15; 
​int index=-1; //记录查找的索引,规定-1表示没有找到元素//2.遍历数组中的元素和key进行比较for (int i = 0; i < array.length; i++) {if(array[i]==key){index=i;break;}}
​//判断index的值,是否等于-1if(index==-1){System.out.println("对不起,没有这个元素");}else{System.out.println(key+"元素在数组中的索引为:"+index); }}
}

更多推荐

Java SE基础经典练习题

本文发布于:2024-02-13 13:14:40,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1758461.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:练习题   基础   经典   Java   SE

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!