案例:减肥计划
需求:输入星期数,显示今天的减肥活动
周一:跑步
周二:游泳
周三:慢走
周四:动感单车
周五:拳击
周六:爬山
周日:好好吃一吨
package itheima_02; import java.sql.SQLOutput; import java.util.Scanner; public class Test01 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.print("请输入星期数:"); int num=sc.nextInt(); switch(num){ case 1: System.out.println("今天是星期"+num+",跑步"); break; case 2: System.out.println("今天是星期"+num+",游泳"); break; case 3: System.out.println("今天是星期"+num+",慢走"); break; case 4: System.out.println("今天是星期"+num+",动感单车"); break; case 5: System.out.println("今天是星期"+num+",拳击"); break; case 6: System.out.println("今天是星期"+num+",爬山"); break; case 7: System.out.println("今天是星期"+num+",好好吃一吨"); break; default: System.out.println("请输入星期数"); break; } } }
导包:
1、手动导包 import java.util.Scanner;
2、快捷键导包 Alt+Enter
3、自动导包
案例:逢七过
需求:朋友聚会的时候可能会玩一个游戏:逢7过。规则:从任意一个数字开始报数,当你要报的数字
包含7或者是7的倍数时就要说:过。为了帮助大家更好的玩这个游戏,这里我们直接在控制台打印
出1-100之间的满足逢七过规则的数据。
这样,大家将来玩游戏的时候,就知道哪些数据要说:过。
package itheima_02; /* * 需求:朋友聚会的时候可能会玩一个游戏:逢7过。规则:从任意一个数字开始报数,当你要报的数字 包含7或者是7的倍数时就要说:过。为了帮助大家更好的玩这个游戏,这里我们直接在控制台打印 出1-100之间的满足逢七过规则的数据。 这样,大家将来玩游戏的时候,就知道哪些数据要说:过。 * */ public class Test02 { public static void main(String[] args) { for(int i=1;i<=100;i++){ if((i%10==7)||(i/10%7==7)||(i%7==0)){ System.out.println(i+"过"); } } } }
案例:不死神兔
需求:有一对兔子,从出生后第3个月起,每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子
,假如兔子都不死,问第二十个月的兔子对数为多少?
找规律:
第一个月:1
第二个月:1
第三个月:2
第四个月:3
第五个月:5
....
数据连起来:1,1,2,3,5....
规律:从第三个数据开始,每一个数据时前两个数据之和。第一个,第二个数据时已知的。
思路:
1、为了存储多个月的兔子对数,定义一个数组,用动态初始化完成数组元素的初始化,长度为20
2、因为第一个月,第二个月兔子的对数是已知的,都是1,所以数组的第一个元素,第2个元素值也都是1
3、用循环实现计算每个月的兔子对数
4、输出数组中最后一个元素的值,就是第20个月的兔子对数
package itheima_02; /* * 需求:有一对兔子,从出生后第3个月起,每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子 ,假如兔子都不死,问第二十个月的兔子对数为多少? * 第一个月:1 第二个月:1 第三个月:2 第四个月:3 第五个月:5 .... 数据连起来:1,1,2,3,5.... 规律:从第三个数据开始,每一个数据时前两个数据之和。第一个,第二个数据时已知的。 * */ public class Test03 { public static void main(String[] args) { int[] arr=new int[20]; arr[0]=1; arr[1]=1; for(int i=2;i<arr.length;i++){ arr[i]=arr[i-2]+arr[i-1]; System.out.println(arr[i]); } System.out.println(arr[19]); } }
案例:百钱百鸡
需求:我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,母鸡一值钱三,鸡雏三值一钱。
百钱买百鸡,问鸡翁,鸡母,鸡雏各几何?
分析:假设鸡翁x只,鸡母y只,鸡雏z只,则下面的式子是成立的
x+y+z=100
5*x+3*y+z/3=100
如果单独只看一种鸡型,则下面的式子是成立的
0<=x<=20
0<=y<=33
0<=z<=100
使用穷举法就可以罗列出x,y,z的值。
思路:
1、第一层循环,用于表示鸡翁的范围,初始化表达式的变量定义为x=0;判断条件是x<=20
2、第二层循环,用于表示鸡母的范围,初始化表达式的变量定义为y=0;判断条件是x<=33
3、这个时候,用于表示鸡雏的变量z=100-x-y
4、判断表达式z%3==0和表达式5*x+3*y+z/3=100是否同时成立,如果成立,输出对应的x,y,z的值
就是对应的鸡翁,鸡母,鸡雏的值。
package itheima_02; /* * 需求:我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,母鸡一值钱三,鸡雏三值一钱。 百钱买百鸡,问鸡翁,鸡母,鸡雏各几何? * */ public class Test04 { public static void main(String[] args) { int z = 0; for (int x = 0; x <= 20; x++) { for (int y = 0; y <= 33; y++) { z = 100 - x - y; if (z % 3 == 0 && 5 * x + 3 * y + z / 3 == 100) { System.out.println(x + "," + y + "," + z); } } } } }
案例:数组元素求和
需求:有这样的一个数组,元素是{68,27.95,88,171,996,51,210}。求出该数组中满足要求的元素和,要求是:求和的元素
个位和十位都不能是7,并且只能是偶数。
package itheima_02; /* * 需求:有这样的一个数组,元素是{68,27,95,88,171,996,51,210}。求出该数组中满足要求的元素和,要求是:求和的元素 个位和十位都不能是7,并且只能是偶数。 * */ public class Test05 { public static void main(String[] args) { int[] arr = {68, 27, 95, 88, 171, 996, 51, 210}; int sum = 0; for (int i = 0; i < arr.length; i++) { if (arr[i] % 2 == 0 && arr[i] % 10 != 7 && arr[i] / 10 % 7 != 7) { sum += arr[i]; System.out.println(arr[i]+"题意"); } } System.out.println(sum+"答案"); } }
案例:数组内容相同
需求:设计一个方法,用于比较两个数组的内容是否相同
package itheima_02; /* * 需求:设计一个方法,用于比较两个数组的内容是否相同 * * */ public class Test06 { public static void main(String[] args) { int[] arr1={1,2,3,4,5,6,7,8,9}; int[] arr2={1,2,3,4,5,6,7,8,9}; boolean a = arrNumber(arr1,arr2); System.out.println(a); } public static boolean arrNumber(int[] arr1,int[] arr2){ if(arr1.length!=arr2.length){ return false; } for(int i=0;i<arr1.length;i++){ for(int j=0;j<arr2.length;j++){ if(arr1[i]!=arr2[i]) { return false; } } } return true; } }
案例:查找
需求:已知一个数组arr={19,28,37,46,50};键盘录入一个数据,查找该数据在数组中的索引,
并在控制台输出找到的索引值。
package itheima_02; /* * 需求:已知一个数组arr={19,28,37,46,50};键盘录入一个数据,查找该数据在数组中的索引, * 并在控制台输出找到的索引值。 * */ import java.util.Scanner; public class Test07 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int[] arr={19,28,37,46,50}; int num1=-1; System.out.println("请输入一个数"); int num=sc.nextInt(); for (int i=0;i<arr.length;i++){ if(arr[i]==num){ num1=i; break; } } System.out.println(num1+""); } }
案例:反转
需求:已知一个数组arr={19,28,37,46,50};用程序实现把数组中的元素值交换;
交换后的数组arr={50,46,37,28,19};并在控制台输出交换后的数组元素。
package itheima_02; /* * 需求:已知一个数组arr={19,28,37,46,50};用程序实现把数组中的元素值交换; 交换后的数组arr={50,46,37,28,19};并在控制台输出交换后的数组元素。 * * */ public class Test08 { public static void main(String[] args) { int[] arr={19,28,37,46,50}; for(int i=arr.length-1;i>=0;i--){ System.out.print(arr[i]+"\t"); } } }
案例:评委打分
需求:在编程竞赛中,有6个评委为参赛选手打分,分数为0-100的整数分。
选手的最后得分为:去掉一个最高分和一个最低分后的4个评委平均值(不考虑小数部分)。
package itheima_02; /* 需求:在编程竞赛中,有6个评委为参赛选手打分,分数为0-100的整数分。 选手的最后得分为:去掉一个最高分和一个最低分后的4个评委平均值(不考虑小数部分)。 * */ import java.util.Scanner; public class Test09 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int[] arr = new int[6]; int num; int max; int min; max = 0; min = 100; int sum = 0; int avg = 0; for (int i = 0; i < arr.length; i++) { System.out.println("第" + (i + 1) + "个评委开始打分:"); num = sc.nextInt(); if (num >= 0 && num <= 100) { arr[i] = num; if (max < arr[i]) { max = arr[i]; } else if (min > arr[i]) { min = arr[i]; } sum += arr[i]; }else{ System.out.println("评分有误"); System.exit(0); } } avg = (sum - max - min) / (arr.length - 2); System.out.println("去掉一个最高分:" + max + "分,去掉一个最低分:" + min + "分,4个评委的平均值:" + avg + "分"); } }
注意:
System.exit(0);
//这行代码可以直接结束程序
原文:https://www.cnblogs.com/fangbin-caoqiaomeng/p/14322903.html