Java十大经典排序算法的实现图解
264
2022-08-17
Java几个实例带你进阶升华上篇
目录前言一、案例1:水仙花二、案例2:猜数字三、案例3:减肥计划四、案例4:不死神兔五、案例5:评委打分总结
前言
本期java基础案例: 水仙花、猜数字、减肥计划、不死神兔、评委打分
以下是本篇文章正文内容,仅供参考
一、案例1:水仙花
题目: 在控制台输出所有的水仙花数
什么是水仙花数?
水仙花是一个三位数;
水仙花数的个位、十位、百位的数字立方和等于原数。
分析:
使用循环遍历所有的三位数(100开始到999结束);
计算之前获取三位数中的每个位上的值;
将三位数中的每个数值取出来,计算立方和并与原数值比较;
输出水仙花数。
实践:
代码如下(示例):
public class Demo1 {
public static void main(String[] args) {
//不爱生姜不吃醋
//使用循环遍历所有的三位数(100开始到999结束);
for(int i=100;i<1000;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.print(i+" ");
}
}
}
}
二、案例2:猜数字
题目:
程序自动生成一个1-100之间的数字,实用程序实现猜出这个数字是多少? 当猜错的时候根据不同情况给出相应的提示:
猜的数字比真实数字大,提示猜的数据大了;
猜的数字比真实数字小,提示猜的数小了;
猜的数字等于真实数字,提示恭喜猜中了。
分析:
使用随机数生成该数字(范围0-100);
使用循环反复进行猜数字过程;
使用键盘录入实现输入的猜测数字;
比较猜测的数字与生成的数字;
猜中后结束循环;
实践:
代码如下(示例):
public class Demo2 {
public static void main(String[] args) {
//不爱生姜不吃醋
// 使用随机数生成该数字(范围0-100);
//需要导包import java.util.Random;
Random r=new Random();
int num=r.nextInt(100)+1;
// 使用循环反复进行猜数字过程;
while(true) {
// 使用键盘录入实现输入的猜测数字;
Scanner sc = new Scanner(System.in);
System.out.println("请输入你猜的数字:");
int s = sc.nextInt();
// 比较猜测的数字与生成的数字;
if(s>num){
System.out.println("猜的数字大了!");
}else if(s System.out.println("猜的数字小了!"); }else{ System.out.println("恭喜你,猜中了!"); // 猜中后结束循环; break; } } } } 三、案例3:减肥计划 题目: 输入星期数,显示今天的减肥计划 分析: 键盘录入一个星期数,用一个变量接收; 使用switch语句进行判断; 输出对应的语句。 实践: 代码如下(示例): public class Demo3 { public static void main(String[] args) { //不爱生姜不吃醋 // 键盘录入一个星期数,用一个变量接收; Scanner sc=new Scanner(System.in); System.out.println("请输入星期数:"); int week=sc.nextInt(); // 使用switch语句进行判断; switch(week){ case 1: System.out.println("今天的计划是:跑步!"); break; case 2: System.out.println("今天的计划是:爬山!"); break; case 3: System.out.println("今天的计划是:游泳!"); break; case 4: System.out.println("今天的计划是:骑自行车!"); break; case 5: System.out.println("今天的计划是:拳击!"); break; case 6: System.out.println("今天的计划是:健美操!"); break; case 7: System.out.println("今天的计划是:休息!"); break; default: System.out.println("输入的星期数有误!"); break; } } } 四、案例4:不死神兔 题目: 有一对兔子,从出生后第三个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第十二个月的兔子对数为多少? 分析: 定义一个数组并进行动态初始化,长度为20; 第一个月和第二个月兔子对数都是已知的,都为1; 用循环实现计算每个月的兔子对数; 输出数组中最后一个元素的值(就是第二十个月兔子的对数)。 实践: 代码如下(示例): public class Demo4 { public static void main(String[] args) { //不爱生姜不吃醋 // 定义一个数组并进行动态初始化,长度为20; int[] arr=new int[20]; // 第一个月和第二个月兔子对数都是已知的,都为1; arr[0]=arr[1]=1; // 用循环实现计算每个月的兔子对数; for(int i=2;i arr[i]=arr[i-2]+arr[i-1]; } // 输出数组中最后一个元素的值(就是第二十个月兔子的对数)。 System.out.println("第二十个月兔子的对数为:"+arr[19]); } } 五、案例5:评委打分 题目: 在比赛中,有6个评委为参赛的选手打分,分数为0-100的整数分,选手的最后得分为:去掉一个最高分和一个最低分后的4个评委打分的平均值(不考虑小数部分)。 分析: 定义一个数组,用动态初始化完成数组元素的初始化,长度为6; 键盘录入评委分数; 用循环改进的方法接受评委的分数; 定义方法实现获取数组中的最高分(调用方法); 定义方法实现获取数组中的最低分(调用方法); 定义方法实现数组中所偶有元素的和(调用方法); 按照计算规则计算得到平均分; 输出平均分。 实践: 定义方法实现获取数组中的最高分(最后要调用方法); public static int getMax(int[] arr){ int x=arr[0]; for(int a=1;a if(x < arr[a]){ x=arr[a]; } } return x; } 定义方法实现获取数组中的最低分(最后要调用方法); public static int getMin(int[] arr){ int b=arr[0]; for(int y=1;y if(b > arr[y]){ b=arr[y]; } } return b; } 定义方法实现数组中所偶有元素的和(最后要调用方法); public static int getSum(int[] arr){ int sum=0; for(int c=0;c sum+=arr[c]; } return sum; } 主方法编写。 public static void main(String[] args) { //不爱生姜不吃醋 // 定义一个数组,用动态初始化完成数组元素的初始化,长度为6; int[] arr=new int[5]; // 键盘录入评委分数 Scanner sc=new Scanner(System.in); // 用循环改进的方法接受评委的分数; for(int i=0;i arr[i]=sc.nextInt(); } // 按照计算规则计算得到平均分; int avg=(getSum(arr)-getMax(arr)-getMin(arr))/(arr.length-2); // 输出平均分。 System.out.println("最终得分为:"+ avg); } 总结 本文五个Java案例分别用到了循环遍历、随机生成数、键盘录入、switch语句和定义方法和调用方法。
System.out.println("猜的数字小了!");
}else{
System.out.println("恭喜你,猜中了!");
// 猜中后结束循环;
break;
}
}
}
}
三、案例3:减肥计划
题目:
输入星期数,显示今天的减肥计划
分析:
键盘录入一个星期数,用一个变量接收;
使用switch语句进行判断;
输出对应的语句。
实践:
代码如下(示例):
public class Demo3 {
public static void main(String[] args) {
//不爱生姜不吃醋
// 键盘录入一个星期数,用一个变量接收;
Scanner sc=new Scanner(System.in);
System.out.println("请输入星期数:");
int week=sc.nextInt();
// 使用switch语句进行判断;
switch(week){
case 1:
System.out.println("今天的计划是:跑步!");
break;
case 2:
System.out.println("今天的计划是:爬山!");
break;
case 3:
System.out.println("今天的计划是:游泳!");
break;
case 4:
System.out.println("今天的计划是:骑自行车!");
break;
case 5:
System.out.println("今天的计划是:拳击!");
break;
case 6:
System.out.println("今天的计划是:健美操!");
break;
case 7:
System.out.println("今天的计划是:休息!");
break;
default:
System.out.println("输入的星期数有误!");
break;
}
}
}
四、案例4:不死神兔
题目:
有一对兔子,从出生后第三个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第十二个月的兔子对数为多少?
分析:
定义一个数组并进行动态初始化,长度为20;
第一个月和第二个月兔子对数都是已知的,都为1;
用循环实现计算每个月的兔子对数;
输出数组中最后一个元素的值(就是第二十个月兔子的对数)。
实践:
代码如下(示例):
public class Demo4 {
public static void main(String[] args) {
//不爱生姜不吃醋
// 定义一个数组并进行动态初始化,长度为20;
int[] arr=new int[20];
// 第一个月和第二个月兔子对数都是已知的,都为1;
arr[0]=arr[1]=1;
// 用循环实现计算每个月的兔子对数;
for(int i=2;i arr[i]=arr[i-2]+arr[i-1]; } // 输出数组中最后一个元素的值(就是第二十个月兔子的对数)。 System.out.println("第二十个月兔子的对数为:"+arr[19]); } } 五、案例5:评委打分 题目: 在比赛中,有6个评委为参赛的选手打分,分数为0-100的整数分,选手的最后得分为:去掉一个最高分和一个最低分后的4个评委打分的平均值(不考虑小数部分)。 分析: 定义一个数组,用动态初始化完成数组元素的初始化,长度为6; 键盘录入评委分数; 用循环改进的方法接受评委的分数; 定义方法实现获取数组中的最高分(调用方法); 定义方法实现获取数组中的最低分(调用方法); 定义方法实现数组中所偶有元素的和(调用方法); 按照计算规则计算得到平均分; 输出平均分。 实践: 定义方法实现获取数组中的最高分(最后要调用方法); public static int getMax(int[] arr){ int x=arr[0]; for(int a=1;a if(x < arr[a]){ x=arr[a]; } } return x; } 定义方法实现获取数组中的最低分(最后要调用方法); public static int getMin(int[] arr){ int b=arr[0]; for(int y=1;y if(b > arr[y]){ b=arr[y]; } } return b; } 定义方法实现数组中所偶有元素的和(最后要调用方法); public static int getSum(int[] arr){ int sum=0; for(int c=0;c sum+=arr[c]; } return sum; } 主方法编写。 public static void main(String[] args) { //不爱生姜不吃醋 // 定义一个数组,用动态初始化完成数组元素的初始化,长度为6; int[] arr=new int[5]; // 键盘录入评委分数 Scanner sc=new Scanner(System.in); // 用循环改进的方法接受评委的分数; for(int i=0;i arr[i]=sc.nextInt(); } // 按照计算规则计算得到平均分; int avg=(getSum(arr)-getMax(arr)-getMin(arr))/(arr.length-2); // 输出平均分。 System.out.println("最终得分为:"+ avg); } 总结 本文五个Java案例分别用到了循环遍历、随机生成数、键盘录入、switch语句和定义方法和调用方法。
arr[i]=arr[i-2]+arr[i-1];
}
// 输出数组中最后一个元素的值(就是第二十个月兔子的对数)。
System.out.println("第二十个月兔子的对数为:"+arr[19]);
}
}
五、案例5:评委打分
题目: 在比赛中,有6个评委为参赛的选手打分,分数为0-100的整数分,选手的最后得分为:去掉一个最高分和一个最低分后的4个评委打分的平均值(不考虑小数部分)。
分析:
定义一个数组,用动态初始化完成数组元素的初始化,长度为6;
键盘录入评委分数;
用循环改进的方法接受评委的分数;
定义方法实现获取数组中的最高分(调用方法);
定义方法实现获取数组中的最低分(调用方法);
定义方法实现数组中所偶有元素的和(调用方法);
按照计算规则计算得到平均分;
输出平均分。
实践:
定义方法实现获取数组中的最高分(最后要调用方法);
public static int getMax(int[] arr){
int x=arr[0];
for(int a=1;a if(x < arr[a]){ x=arr[a]; } } return x; } 定义方法实现获取数组中的最低分(最后要调用方法); public static int getMin(int[] arr){ int b=arr[0]; for(int y=1;y if(b > arr[y]){ b=arr[y]; } } return b; } 定义方法实现数组中所偶有元素的和(最后要调用方法); public static int getSum(int[] arr){ int sum=0; for(int c=0;c sum+=arr[c]; } return sum; } 主方法编写。 public static void main(String[] args) { //不爱生姜不吃醋 // 定义一个数组,用动态初始化完成数组元素的初始化,长度为6; int[] arr=new int[5]; // 键盘录入评委分数 Scanner sc=new Scanner(System.in); // 用循环改进的方法接受评委的分数; for(int i=0;i arr[i]=sc.nextInt(); } // 按照计算规则计算得到平均分; int avg=(getSum(arr)-getMax(arr)-getMin(arr))/(arr.length-2); // 输出平均分。 System.out.println("最终得分为:"+ avg); } 总结 本文五个Java案例分别用到了循环遍历、随机生成数、键盘录入、switch语句和定义方法和调用方法。
if(x < arr[a]){
x=arr[a];
}
}
return x;
}
定义方法实现获取数组中的最低分(最后要调用方法);
public static int getMin(int[] arr){
int b=arr[0];
for(int y=1;y if(b > arr[y]){ b=arr[y]; } } return b; } 定义方法实现数组中所偶有元素的和(最后要调用方法); public static int getSum(int[] arr){ int sum=0; for(int c=0;c sum+=arr[c]; } return sum; } 主方法编写。 public static void main(String[] args) { //不爱生姜不吃醋 // 定义一个数组,用动态初始化完成数组元素的初始化,长度为6; int[] arr=new int[5]; // 键盘录入评委分数 Scanner sc=new Scanner(System.in); // 用循环改进的方法接受评委的分数; for(int i=0;i arr[i]=sc.nextInt(); } // 按照计算规则计算得到平均分; int avg=(getSum(arr)-getMax(arr)-getMin(arr))/(arr.length-2); // 输出平均分。 System.out.println("最终得分为:"+ avg); } 总结 本文五个Java案例分别用到了循环遍历、随机生成数、键盘录入、switch语句和定义方法和调用方法。
if(b > arr[y]){
b=arr[y];
}
}
return b;
}
定义方法实现数组中所偶有元素的和(最后要调用方法);
public static int getSum(int[] arr){
int sum=0;
for(int c=0;c sum+=arr[c]; } return sum; } 主方法编写。 public static void main(String[] args) { //不爱生姜不吃醋 // 定义一个数组,用动态初始化完成数组元素的初始化,长度为6; int[] arr=new int[5]; // 键盘录入评委分数 Scanner sc=new Scanner(System.in); // 用循环改进的方法接受评委的分数; for(int i=0;i arr[i]=sc.nextInt(); } // 按照计算规则计算得到平均分; int avg=(getSum(arr)-getMax(arr)-getMin(arr))/(arr.length-2); // 输出平均分。 System.out.println("最终得分为:"+ avg); } 总结 本文五个Java案例分别用到了循环遍历、随机生成数、键盘录入、switch语句和定义方法和调用方法。
sum+=arr[c];
}
return sum;
}
主方法编写。
public static void main(String[] args) {
//不爱生姜不吃醋
// 定义一个数组,用动态初始化完成数组元素的初始化,长度为6;
int[] arr=new int[5];
// 键盘录入评委分数
Scanner sc=new Scanner(System.in);
// 用循环改进的方法接受评委的分数;
for(int i=0;i arr[i]=sc.nextInt(); } // 按照计算规则计算得到平均分; int avg=(getSum(arr)-getMax(arr)-getMin(arr))/(arr.length-2); // 输出平均分。 System.out.println("最终得分为:"+ avg); } 总结 本文五个Java案例分别用到了循环遍历、随机生成数、键盘录入、switch语句和定义方法和调用方法。
arr[i]=sc.nextInt();
}
// 按照计算规则计算得到平均分;
int avg=(getSum(arr)-getMax(arr)-getMin(arr))/(arr.length-2);
// 输出平均分。
System.out.println("最终得分为:"+ avg);
}
总结
本文五个Java案例分别用到了循环遍历、随机生成数、键盘录入、switch语句和定义方法和调用方法。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~