JAVA编程题(持续更新中。。。)
2020-06-06 06:28
363 查看
for循环练习1
在控制台输出1-5和5-1的数据 public class Demo02Practice { public static void main(String[] args) { //在控制台输出1-5 for (int i = 1; i <= 5; i++) { System.out.println(i); } // 5-1的数据 for (int i = 5; i > 0; i--) { System.out.println(i); } } }
for循环练习2
求1-5之间的数据和,并把求和结果在控制台输出 public class Demo03Practice { public static void main(String[] args) { //求1-5之间的数据和,并把求和结果在控制台输出 //1:定义一个变量用来存储和。 int sum = 0; //2:借助for循环提供1~5的数字 for (int i = 1; i < 6; i++) { //3:在循环内部进行完成累加操作。 //sum = sum +i; sum += i; } //4:打印求和结果 System.out.println("sum = " + sum); } }
for循环练习3
/* 求1-100之间的偶数和,并把求和结果在控制台输出 */ public class Demo04Practice { public static void main(String[] args) { //1:定义一个变量保存累加的和 int sum = 0; //2:借助for循环提供1~100的数字 for (int i = 1; i <=100 ; i++) { //3:循环内部判断是否为偶数,如果为偶数进行累加,否则不做任何操作。 if (i % 2 == 0) { //偶数:如果一个数能够被2整除,就是偶数【对2取余为0】 sum+=i; } } //4:循环结束,打印累加结果 System.out.println("sum = " + sum); } }
for循环练习4
【难点】如何获取个,十,百位的数据
public class Demo05 { public static void main(String[] args) { int num1 = 54123; //个:只要对10取余即可 System.out.println(num1%10); //3 //十:把十位转换位个位【先除10,再模10】 System.out.println(num1/10%10);//2 //百:把百位转换为个位【除100】 System.out.println(num1/100%10);//1 //千 System.out.println(num1/1000%10);//4 //万 System.out.println(num1/10000%10); //5 } }
for循环练习4
在控制台输出所有三位数的“水仙花数” 什么是水仙花数?水仙花数,指的是一个三位数,个位、十位、百位的数字立方和等于原数 例如 153 3*3*3 + 5*5*5 + 1*1*1 = 153 /* 在控制台输出所有三位数的“水仙花数” 什么是水仙花数?水仙花数,指的是一个三位数,个位、十位、百位的数字立方和等于原数 例如 153 3*3*3 + 5*5*5 + 1*1*1 = 153 */ public class Demo06Practice { public static void main(String[] args) { //1:借助for循环获取所有的三位数 for (int i = 100; i < 1000; i++) { //2:在循环内部完成对数字的个十百位数字获取, 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); } } } }
while循环练习:珠穆朗玛峰
/* 需求:世界最高山峰是珠穆朗玛峰(8844.43米=8844430毫米),假如我有一张足够大的纸,它的厚度是0.1毫米。 请问,我折叠多少次,可以折成珠穆朗玛峰的高度? */ public class Demo02Practice { public static void main(String[] args) { //1:初始化数据,定义变量保存,山高,纸厚,折叠次数 int mh = 8844430;//山高 double ph = 0.1;//纸厚 int count = 0; //次数 //2:循环折叠纸,当纸厚小于山高继续折纸,直到纸厚大于等于山高停止折叠 while (ph < mh) { //3:次数+1,纸厚*=2 count++; ph *= 2; } //4:打印次数,纸厚 System.out.println("折叠次数:" + count);//27 System.out.println("纸厚:" + ph); //13421772.8 E7 // 8844430 } }
死循环while练习【猜数字游戏】
/* 先随机提供一个[1,100]之间的随机数,使用num保存。 玩家猜数字,为guessNum 如果大了,提示大了 如果小了,提示小了 如果猜对了,游戏结束 直到猜对为止 */ public class Demo01 { public static void main(String[] args) { //1:使用Random生成一个随机数,使用num保存。 Random rd = new Random(); //[1,100] = [0,99]+1 int num = rd.nextInt(100)+1; while (true) { //2:使用Scanner键盘输入用户猜的数值,用guessNum Scanner sc = new Scanner(System.in); System.out.println("请输入您要猜的数值:"); int guessNum = sc.nextInt(); //3:比较guessNum和num if (guessNum > num) { //如果大了,提示大了 System.out.println("不好意思,您猜大了"+guessNum); } else if (guessNum < num) { //如果小了,提示小了 System.out.println("不好意思,您猜小了" + guessNum); } else { //如果猜对了,游戏结束 System.out.println("恭喜您,猜对了" + guessNum); break;//猜对了就结束游戏 } } } }
基础练习1:减肥计划if版本
键盘录入
if-else
package com.review.减肥计划if版本; import java.util.Scanner; /* * 案例需求 输入星期数,显示今天的减肥活动 周一:跑步 周二:游泳 周三:慢走 周四:动感单车 周五:拳击 周六:爬山 周日:好好吃一顿 * */ public class demo { public static void main(String[] args) { // 1.借助Scanner输入一个星期数,使用week接受 Scanner sc = new Scanner(System.in); System.out.println("请输入一个星期数:"); int week = sc.nextInt(); // 2.借助if判断语句判断week的值,对应输出活动内容 if (week == 1) { System.out.println("周一:跑步"); } else if (week == 2) { System.out.println("周二:游泳"); } else if (week == 3) { System.out.println("周三:慢走"); } else if (week == 4) { System.out.println("周四:动感单车"); } else if (week == 5) { System.out.println("周五:拳击"); } else if (week == 6) { System.out.println("周六:爬山"); } else if (week == 7) { System.out.println("周日:好好吃一顿"); }else { System.out.println("输入的数字无效!"); } } }
基础练习2:减肥计划switch版本
switch
Scanner
package com.review.减肥计划switch版本; import java.util.Scanner; /* * 案例需求 输入星期数,显示今天的减肥活动 周一:跑步 周二:游泳 周三:慢走 周四:动感单车 周五:拳击 周六:爬山 周日:好好吃一顿 1)借助Scanner输入一个星期数,使用week接收 2)借助switch判断语句进行判断week的值,对应输出活动内容 switch:接收的类型,byte short char int String【字符串】 Enum[枚举] * */ public class demo { public static void main(String[] args) { // 1)借助Scanner输入一个星期数,使用week接收 Scanner sc = new Scanner(System.in); System.out.println("请输入一个星期数:"); int week = sc.nextInt(); // 2)借助switch判断语句进行判断week的值,对应输出活动内容 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("输入的数字无效!"); } } }
基础练习3(continue):继续【逢七过练习】
/* 逢7过 */ public class Demo02 { public static void main(String[] args) { for (int i = 1; i < 100; i++) { //逢7过:7的倍数,含有7 if ((i % 7 == 0) || (i % 10 == 7 || i / 10 % 10 == 7)) { //7的倍数 || 含有7 System.out.println("过"); continue; //结束当次循环,继续下一次循环 } System.out.println(i); } } }
基础练习4:不死神兔
package com.review.不死神兔; /* * 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔 * 子长到第三个月后每个月又生一对兔子,假如兔子都不死,问 * 第二十个月的兔子对数为多少? * */ public class demo { public static void main(String[] args) { // 1)定义一个长度为20的int数组,用来保存兔子数 int[] rabbits = new int[20]; // 2)第一个月1对,第二个月1对 rabbits[0] = 1; rabbits[1] = 1; // 3)借助for循环进行给第三个月后的兔子数赋值 for (int i = 2; i < rabbits.length; i++) { rabbits[i] = rabbits[i-1] + rabbits[i-2]; } // 4)取第20个元素打印 for (int i = 0; i < rabbits.length; i++) { System.out.println("第" + (i+1) + "个月的兔子对数为:" + rabbits[i]); } } }
基础练习5:九九乘法表的打印
- 嵌套循环:循环体里面还有循环
for的嵌套的循环
package com.review.九九乘法表的打印; public class demo { public static void main(String[] args) { print99(); System.out.println("======"); print99Half(); } public static void print99() { for (int i = 1; i <= 9; i++) { for (int j = 1; j <= 9; j++) { System.out.print(i + "x" + j + "=" + i*j + "\t"); } System.out.println(); } } public static void print99Half() { for (int i = 1; i <= 9; i++) { for (int j = 1; j <= i; j++) { System.out.print(i + "x" + j + "=" + i*j + "\t"); } System.out.println(); } } }
基础练习6:数组元素求和
数组的遍历
for循环
if判断
逻辑运算符
package com.review.数组元素求和; /* * 有这样的一个数组,元素是{68,27,95,88,171,996,51,210}。求出 * 该数组中满足要求的元素和。要求:求和的元素个位和十位都不能 * 是7,并且只能是偶数 * */ public class demo { public static void main(String[] args) { // 1:定义已知数值 int[] arr = {68, 27, 95, 88, 171, 996, 51, 210}; // 2:定义一个变量用来保存和结果[sum] int sum = 0; // 3:遍历数组 for (int i = 0; i < arr.length; i++) { // 取出元素的值,判断是否满足要求,如果满足累加,否则不处理 int num = arr[i]; // 求和的元素个位和十位都不能是7,并且只能是偶数 if ((num%10 != 7 && num/10%10 != 7) && num%2==0) { //个位和十位都不能是7 && 只能是偶数 sum += num; } } // 4:打印结果 System.out.println("sum = " + sum); //1362 } }
基础练习7:判断两个数组是否相同
package com.review.判断两个数组是否相同; /* * 定义一个方法,用于比较两个int数组的内容是否相同 * * 定义方法三个明确: * 1.返回值类型: Boolean * 2.方法名:compare * 3.参数列表 几个? 什么类型? 比较两个int数组 * */ public class demo { public static void main(String[] args) { int[] arr1 = {1,2,3}; int[] arr2 = {1,2,3}; System.out.println(compare(arr1, arr2)); } public static boolean compare(int[] arr1, int[] arr2) { if (arr1.length != arr2.length) { // 长度不相同,return false return false; } else { // 长度相同,对应索引的元素值也要相同,否则两个数组不相等 // 遍历数组,比较对应索引的元素值 for (int i = 0; i < arr1.length; i++) { if (arr1[i] != arr2[i]) { // 只要有一个元素不相同,两个数组不相等 return false; } } } // 元素都相同,返回true return true; } }
基础练习8:查找元素在数组中出现的索引位置
package com.review.查找元素在数组中出现的索引位置; import java.util.Scanner; /* * 已知一个数组 arr = {19, 28, 37, 46, 50}; 键盘录入一个数据,查找该数据在数组中的索引。 并在控制台输出找到的索引值。如果没有查找到,则输出-1 * * 定义一个方法,传入一个数组一个元素,返回元素在数组中的索引,如果没有返回-1 * */ public class demo { public static void main(String[] args) { // 已知一个数组 arr = {19, 28, 37, 46, 50}; int[] arr = {19, 28, 37, 46, 50}; // 键盘录入一个数据,查找该数据在数组中的索引 Scanner sc = new Scanner(System.in); System.out.println("请输入您要查找的元素:"); int num = sc.nextInt(); // 调用方法,获取索引 int index = getIndex(arr, num); System.out.println("index = " + index); } public static int getIndex(int[] arr,int e) { // 1.遍历数组中的元素,取出元素和传入的参数e进行比较 for (int i = 0; i < arr.length; i++) { if (arr[i] == e) { // 2.如果相同,返回索引 return i; } } return -1; } }
基础练习9:数组元素反转
package com.review.数组元素反转; /* * 已知一个数组 arr = {1, 2, 3, 4, 5}; 用程序实现把数 * 组中的元素值交换, 交换后的数组 arr = {5, 4, 3, 2, 1}; * 并在控制台输出交换后的数组元素。 * */ public class demo { public static void main(String[] args) { // 已知数组 int[] arr = {1, 2, 3, 4, 5}; // 反转数组:对称位置元素进行交换 for (int min = 0,max = arr.length - 1; min < max; min++,max--) { // arr[min] arr[max] int temp = arr[min]; arr[min] = arr[max]; arr[max] = temp; } for (int i = 0; i < arr.length; i++) { System.out.print(arr[i] + " "); } } }
基础练习10:评委打分
package com.review.评委打分; import java.util.Scanner; /* * 在编程竞赛中,有6个评委为参赛的选手打分,分数为0-100的整数分。 选手的最后得分为:去掉一个最高分和一个最低分后 的4个评委平均值 (不考虑小数部分)。 * */ public class demo { public static void main(String[] args) { // 1.定义一个长度为6的int类型的数组,用来保存评委的分数 int[] scores = new int[6]; // 2.借助Scanner录入分数到各个元素中 Scanner sc = new Scanner(System.in); for (int i = 0; i < scores.length; i++) { System.out.println("第" + (i+1) + "位评委评分:"); scores[i] = sc.nextInt(); } // 3.定义一个方法求总分 int sum = getSum(scores); // 4.定义一个方法求最高分 int max = getMax(scores); // 5.定义一个方法求最低分 int min = getMin(scores); // 6.平均分 = (总分 - 最高分 - 最低分)/4 int avg = (sum - max - min)/4; // 7.打印平均分 System.out.println("avg = " + avg); } // 3.定义一个方法求总分 public static int getSum(int[] arr) { int sum = 0; for (int i = 0; i < arr.length; i++) { sum += arr[i]; } return sum; } // 4.定义一个方法求最高分 public static int getMax(int[] arr) { int max = arr[0]; for (int i = 0; i < arr.length; i++) { if (max < arr[i]) { max = arr[i]; } } return max; } // 5.定义一个方法求最低分 public static int getMin(int[] arr) { int min = arr[0]; for (int i = 0; i < arr.length; i++) { if (min > arr[i]) { min = arr[i]; } } return min; } }
嵌套循环
/* 循环体中还有循环 打印一天中的24小时的每一分钟 如果要结束外层循环,可以加标记 要结束那个循环,只要在break后面加上该标记即可. */ public class Demo01 { public static void main(String[] args) { h:for (int hour = 0; hour < 24; hour++) { //System.out.println("hour = " + hour); m: for (int min = 0; min < 60; min++) { System.out.println(hour+" : " + min); if (min == 5) { // break m;//结束内层循环 break h;//结束外层循环 } } } } }
相关文章推荐
- [置顶] Java知识点相关文章收集(持续更新)
- [Java]初学笔记(持续更新)
- java web开发中遇到的问题及解决方案(个人学习日志,持续更新)
- JAVA基础(3)常用API收集(持续更新)
- JAVA小白面试题总结(持续更新)
- Java自学视频整理(持续更新中...)
- 易错java知识点总结(持续更新)
- Java知识点归纳(持续更新)
- 初学Spring框架的javaweb笔记(持续更新)
- java 设计模式浅析(持续学习更新)
- Java容易遗忘的知识点列表(持续更新)
- Java进阶之欧拉工程 第三篇【持续更新】
- JAVA常见关键字及JDK 常用方法源码解读(持续更新...)
- Java常见的问题总结--持续更新中
- java代码注意点总结(持续更新)
- java视频教程 Java自学视频整理(持续更新中...)
- java代码生成器,springboot代码生成器—增加更新,查询功能(持续更新)
- 不同运行环境下JAVA出现的异常(持续更新)
- JAVA-Word转PDF各种版本实现方式--亲测有效。。。持续更新中
- 2017.4.26 慕课网--Java 高并发秒杀API配置文件(持续更新)