1.案例:减肥计划
package com.maicangfenxiang;
/*
需求:输入星期数,显示今天的减肥活动
周一:跑步
周二:游泳
周三:慢走
周四:动感单车
周五:拳击
周六:爬山
周日:好好吃一顿
导包:
1.手动导包:import java.util.Scanner;
2.快捷键导包:Alt + Enter
3.自动导包
*/
import java.util.Scanner;
public class Test01 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个星期数:");
int week = sc.nextInt();
//使用if语句实现
/*
if (week < 1 || week > 7) {
System.out.println("您输入的星期数有误!");
} else 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 {
System.out.println("周日:好好吃一顿");
}
*/
//使用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("您输入的星期数有误!");
}
}
}
2.案例:逢七过
package com.maicangfenxiang;
/*
需求:
朋友聚会的时候可能会玩一个游戏:逢七过。
规则是:从任意一个数字开始报数,当你要报的数字包含7或者是7的倍数时都要说:过。
为了帮助大家更好的玩这个游戏,这里我们直接在控制台打印出1-100之间的满足逢七必过规则的数据。
这样,大家将来在玩游戏的时候,就知道哪些数据要说:过。
*/
public class Test02 {
public static void main(String[] args) {
for (int x = 1; x <= 100; x++) {
if (x % 10 == 7 || x / 10 % 10 == 7 || x % 7 == 0) {
System.out.println(x);
}
}
}
}
3.案例:不死神兔
package com.maicangfenxiang;
import java.util.Scanner;
/*
需求:
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,
请在屏幕上输入一个大于等于3的月份,如果输入的月份不正确需要重新输入,直到输入的月份正确为止。
假如兔子都不死,问第N个月的兔子对数为多少?
*/
public class Test03 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个月份数moon(moon>=3):");
while(true){
int moon = sc.nextInt();
if(moon<3){
System.out.println("您输入的月份不正确,请重新输入:");
}else{
int[] arr = new int[moon];
arr[0]=1;
arr[1]=1;
for(int x = 2;x
4.案例:百钱百鸡
package com.maicangfenxiang;
/*
需求:
在我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱5,鸡母一值钱三,鸡雏三值钱一。
百钱买白鸡,问鸡翁、鸡母、鸡雏个几何?
*/
public class Test04 {
public static void main(String[] args) {
//第1层循环,用于表示鸡翁的范围,初始化表达式的变量定义为 x=0, 判定条件 0<= x <=20
for(int x=0;x<=20;x++){
//第2层循环,用于表示鸡母的范围,初始化表达式的变量定义为 y=0, 判定条件 0<= y <=33
for(int y=0;y<=33;y++){
//这个时候,用于表示鸡雏的变量 z = 100 - x - y
int z = 100 - x - y;
//判断表达式,z%3 == 0 和表达式 5*x + 3*y + z/3 = 100
if((z%3 == 0) && (5*x + 3*y + z/3 == 100)){
System.out.println("鸡翁:"+x+"、鸡母:"+y+"、鸡雏:"+z);
}
}
}
}
}
5.案例:数组元素求和
package com.maicangfenxiang;
/*
需求:
有这样的一个数组,元素是{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 x = 0; x < arr.length; x++) {
if (arr[x] % 10 != 7 && arr[x] / 10 % 10 != 7 && arr[x] % 2 == 0) {
sum += arr[x];
}
}
System.out.println("sum:" + sum);
}
}
6.案例:数组内容相同
package com.maicangfenxiang;
/*
需求:
设计一个方法,用于比较两个数组的内容是否相同
思路:
比较两个数组的长度是否相等
比较两个数组的每个对于元素是否相等
*/
public class Test06 {
public static void main(String[] args) {
int[] arr = {11,22,33,44,55,66,77};
int[] arr2 = {11,22,33,44,55,66,77};
boolean flag = compare(arr,arr2);
System.out.println(flag);
}
public static boolean compare(int[] arr,int[] arr2){
if(arr.length != arr2.length){
return false;
}
for(int x = 0;x
7.案例:查找
package com.maicangfenxiang;
import java.util.Scanner;
/*
需求:
已知一个数组arr ={19,28,37,46,50};键盘录入一个数据,
查找该数据在数组中的索引,并在控制台输出找到的索引值。
数据:19 28 37 46 50
索引:0 1 2 3 4
如果找不到对应的索引,返回-1
*/
public class Test07 {
public static void main(String[] args) {
int[] arr = {19,28,37,46,50};
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数据:");
int number = sc.nextInt();
System.out.println(number+"的索引:"+getID(arr,number));
}
public static int getID(int[] arr,int number){
for(int x =0;x
8.案例:反转
package com.maicangfenxiang;
/*
需求:
已知一个数组arr={19,28,37,46,50};用程序实现把数组中的元素值交换,
交换后的数组arr={50,46,37,28,19};并在控制台输出交换后的数组元素。
0 1 2 3 4
*/
public class Test08 {
public static void main(String[] args) {
int[] arr = {19, 28, 37, 46, 50};
reverseArr(arr);
printArr(arr);
}
public static int[] reverseArr(int[] arr) {
for (int start = 0, end = arr.length - 1; start <= end; start++, end--) {
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
}
return arr;
}
public static void printArr(int[] arr) {
System.out.print("[");
for (int x = 0; x < arr.length; x++) {
if (x == arr.length - 1) {
System.out.print(arr[x]);
} else {
System.out.print(arr[x] + ",");
}
}
System.out.println("]");
}
}
9.案例:评委打分
package com.maicangfenxiang;
import java.util.Scanner;
/*
需求:
在编程竞赛中,有6个评委为参赛的选手打分,分数为0-100的整数分。
选手的最后得分为:去掉一个最高分和一个最低分后的4个评委平均值(不考虑小数部分)。
*/
public class Test09 {
public static void main(String[] args) {
int[] arr = new int[6];
arr = inputArr(arr);
//printArr(arr);
int max = getMaxArr(arr);
int min = getMinArr(arr);
int sum = getSumArr(arr);
int score = (sum-max-min)/(arr.length-2);
System.out.println("选手的最后得分为:"+score);
}
//求和
public static int getSumArr(int[] arr){
int sum = 0;
for(int x=0;xarr[x]){
min = arr[x];
}
}
return min;
}
//键盘录入
public static int[] inputArr(int[] arr) {
Scanner sc = new Scanner(System.in);
for (int x = 0; x < arr.length; x++) {
System.out.println("请输入第" + (x + 1) + "个评委的打分:");
arr[x] = sc.nextInt();
}
return arr;
}
//遍历数组
public static void printArr(int[] arr) {
System.out.print("[");
for (int x = 0; x < arr.length; x++) {
if (x == arr.length - 1) {
System.out.print(arr[x]);
} else {
System.out.print(arr[x] + ",");
}
}
System.out.println("]");
}
}