Java基础案例(基础)

一、减肥计划

需求:键盘输入星期数,判断今日减肥活动
例:星期一:跑步,星期二:游泳,星期三:慢走…
// if语句
//导入Scanner包(用于键盘输入)
import java.util.Scanner;
public class Demo1{
	public static void main(String[] args){
		// 获取键盘输入数据
        Scanner sc = new Scanner(System.in);
        // 提示用户信息
        System.out.println("请输入星期:");
        // 获取数据
        int i = sc.nextInt();
        // if语句进行判断
        if(i == 1){
        	// 键盘输入为1
            System.out.println("跑步");
        }else if(i==2){
       		// 键盘输入为2
            System.out.println("游泳");
        }else if(i==3){
        	// 键盘输入为3
            System.out.println("慢走");
        }else if(i==4){
        	// 键盘输入为4
            System.out.println("骑单车");
        }else if(i==5){
        	// 键盘输入为5
            System.out.println("拳击");
        }else if(i==6){
        	// 键盘输入为6
            System.out.println("爬山");
        }else if(i==7){
        	// 键盘输入为7
            System.out.println("休息一天");
        }else{
        	// 输入不为星期1~7时,提示信息
            System.out.println("请输入1~7之间数字!");
        }
    }
}
//switch语句,与if语句操作类似
import java.util.Scanner; // 获取键盘输入
public class Demo2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个星期:");
        int i = sc.nextInt();
        switch (i) {
            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("请输入1~7之间数字");
        }
    }
}

二、逢7过

规则:从任意数字开始报数,当报出7或7的倍数时,要说过。
需求:为游戏方便,直接在控制台中打印出1~100中所有满足条件的数字。
public class Demo3 {
    public static void main(String[] args) {
    	// 循环遍历1~100
        for (int i = 1; i < 100; i++) {
        	// i%10 == 7判断个位数是否为7
        	// i/10%10 == 7 判断十位数是否为7
        	// i%7 == 0 判断数字是否为7的倍数
            if (i % 10 == 7 || i / 10 % 10 == 7 || i % 7 == 0) {
                System.out.println("过");
            } else { // 不是以上条件,输出原数字
                System.out.println(i);
            }
        }
    }
}

三、不死兔

需求:有一对兔子,从出生后第三个月起开始每月生一对兔子,小兔子长到三个月后每月有生一兔子,假设兔子不死,问第50个月后,有多少对兔子?

由题目可知,第一个月有1对兔子,第二个月有1对兔子,第三个月有2对兔子,第四个月有3对兔子…,依次类推可知,从第三个月开始每个月兔子数量等于前两个月兔子数量之和。

public class Demo4 {
    public static void main(String[] args) {
    	// 建立数组
        int[] arr = new int[50];
//      循环遍历整个数组
        for(int x=2;x< arr.length;x++){
        	// 第x月兔子数量
            arr[x] = arr[x-2]+arr[x-1];
        }
        // 输出结果
        System.out.println(arr[50]);
    }
}

四、百鸡百钱

需求:张丘建《算经》一书中提出:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一,百钱买百鸡,问鸡翁、鸡母、鸡雏几何?
设鸡翁x只,鸡母y值,鸡雏z只,则:
			x + y + z = 100
			5*x + 3*y + z/3 = 100

代码如下:

public class Demo5 {
    public static void main(String[] args) {
    	// 循环遍历(最多可有20只鸡翁)
        for(int x = 0;x<=20;x++){
        	// 循环遍历(最多可有33只鸡母)
            for(int y = 0;y<=33;y++){
            	// 鸡雏 = 鸡翁 - 鸡母
                int z = 100 - x - y;
                // 鸡雏三钱一只,所以鸡雏数一定为3的倍数即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);
                }
            }
        }
    }
}

// 结果:
0,25,75
4,18,78
8,11,81
12,4,84

五、查找

需求:已知一数组,从键盘录入一数据,查找该数据在数组中的索引值。
// 获取键盘数据
import java.util.Scanner;
public class Demo8 {
    public static void main(String[] args) {
    	// 定义一个数组
        int[] arr = {789,32536,658,124,679};
        Scanner sc = new Scanner(System.in);
        // 提示输入数据
        System.out.println("请输入一个数字:");
        // 获取键盘输入数据
        int i = sc.nextInt();
        // 建立空数组,如输入数据数组中不存在,则输出-1
        int index = -1;
        // 循环遍历数组
        for(int x = 0;x<arr.length;x++){
        	// 判断输入数据是否为数组中的数据
            if(arr[x] == i ){
            	// 是,改变初始索引
                index = x;
                // 跳出循环
                break;
            }
        }
        // 输出结果
        System.out.println(index);
    }
}

六、反转

需求:已知一个数组,用程序实现将其数组中元素进行倒置。
public class Demo9 {
    public static void main(String[] args) {
    	// 定义数组
        int[] arr = {12,1423,456,8670,1323,675,346};
        // 循环遍历数组,start为数组第一个数据,end为数组最后一个数据
        for(int start = 0,end = arr.length-1;start<=end;start++,end--){
        	// 建立temp用于暂时存放start中数据
            int temp = arr[start];
            // 将end中数据传给数组start
            arr[start] = arr[end];
            // 将temp中暂缓数据交于end中
            arr[end] = temp;
        }
        // 调用方法
        printArray(arr);
    }
    public static void printArray(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.print(']');
    }
}
// 结果:
[346, 675, 1323, 8670, 456, 1423, 12]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值