联系

package com.itheima;

import java.util.Scanner;

/*

* 需求:键盘录入一个月份,输出该月份对应的季节。

* 一年有四季

* 3,4,5 春季

* 6,7,8 夏季

* 9,10,11 秋季

* 12,1,2 冬季

*

* 分析:

* A:键盘录入一个月份,用Scanner实现

* B:判断该月份是几月,根据月份输出对应的季节

* if

* switch

*/

public class Test {

public static void main(String[] args) {

//键盘录入一个月份,用Scanner实现

Scanner sc = new Scanner(System.in);

//接收数据

System.out.println("请输入月份(1-12):");

int month = sc.nextInt();

/*

if(month>12 || month<1) {

System.out.println("你输入的月份有误");

}else if(month == 1) {

System.out.println("冬季");

}else if(month == 2) {

System.out.println("冬季");

}else if(month == 3) {

System.out.println("春季");

}else if(month == 4) {

System.out.println("春季");

}else if(month == 5) {

System.out.println("春季");

}else if(month == 6) {

System.out.println("夏季");

}else if(month == 7) {

System.out.println("夏季");

}else if(month == 8) {

System.out.println("夏季");

}else if(month == 9) {

System.out.println("秋季");

}else if(month == 10) {

System.out.println("秋季");

}else if(month == 11) {

System.out.println("秋季");

}else {

System.out.println("冬季");

}

*/

//目前我们已经实现了我们的需求

//但是我觉得代码稍微有些麻烦

//所以我想改进

//如何改进呢?能不能把相同季节的月份放到一起判断呢

//能

//month == 3 || month == 4 || month == 5

if((month == 1) || (month == 2) || (month == 12)) {

System.out.println("冬季");

}else if((month == 3) || (month == 4) || (month == 5)) {

System.out.println("春季");

}else if((month == 6) || (month == 7) || (month == 8)) {

System.out.println("夏季");

}else if((month == 9) || (month == 10) || (month == 11)) {

System.out.println("秋季");

}else {

System.out.println("你输入的月份有误");

}

}

}

switch(month) {

case 1:

case 2:

case 12:

System.out.println("冬季");

break;

case 3:

case 4:

case 5:

System.out.println("春季");

break;

case 6:

case 7:

case 8:

System.out.println("夏季");

break;

case 9:

case 10:

case 11:

System.out.println("秋季");

break;

default:

System.out.println("你输入的月份有误");

break;

}

}

}

package com.itheima;

/*

* 需求:打印5位数中的所有回文数。

* 什么是回文数呢?举例:12321是回文数,个位与万位相同,十位与千位相同。

*

* 分析:

* A:5位数告诉了我们数据的范围,用for循环实现

* B:拿到每一个5位数后,获取其个位,十位,千位,万位的数据

* 如何获取呢?假设x是一个5位数

* 个位:x%10

* 十位:x/10%10

* 千位:x/10/10/10%10

* 万位:x/10/10/10/10%10

* C:根据条件进行判断,把满足条件的数据输出即可

*/

public class Test3 {

public static void main(String[] args) {

//5位数告诉了我们数据的范围,用for循环实现

for(int x=10000; x<100000; x++) {

//拿到每一个5位数后,获取其个位,十位,千位,万位的数据

int ge = x%10;

int shi = x/10%10;

int qian = x/10/10/10%10;

int wan = x/10/10/10/10%10;

//根据条件进行判断,把满足条件的数据输出即可

if((ge == wan) && (shi == qian)) {

System.out.println(x);

}

}

}

}

* 需求:

* 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,

* 假如兔子都不死,问第二十个月的兔子对数为多少?

*

* 规律:

* 第一个月:1

* 第二个月:1

* 第三个月:2

* 第四个月:3

* 第五个月:5

* ...

*

* 规律:从第三个月开始,每个月的兔子对数是前两个月的兔子对数之和

*          第一个月和第二个月的兔子对数都是1

*

* 分析:

* A:由于数据比较多,所以我们就定义数组来实现了

* int[] arr = new int[20];

* B:给数组的元素赋值

* arr[0] = 1

* arr[1] = 2

* C:找规律

* arr[2] = arr[1] + arr[0];

* arr[3] = arr[2] + arr[1];

* arr[4] = arr[3] + arr[2];

* arr[5] = arr[4] + arr[3];

* ...

*/

public class Test4 {

public static void main(String[] args) {

//定义数组

int[] arr = new int[20];

//给数组的元素赋值

arr[0] = 1;

arr[1] = 1;

//找规律赋值

for(int x=2; x<arr.length; x++){}

arr[x]=arr[x-2]+arr[x-1]

syso


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    叶总韩阅读 10,543评论 0 41
  • Java经典问题算法大全 /*【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子...
    赵宇_阿特奇阅读 5,969评论 0 2
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,238评论 18 399
  • SwiftDay011.MySwiftimport UIKitprintln("Hello Swift!")var...
    smile丽语阅读 9,362评论 0 6
  • 豆瓣APP的上线已经有很长周期,版本更迭数次,在功能和交互界面上都有了很大改变。这次通过倒推的形式制作PRD文档,...
    郅绝阅读 8,448评论 0 12

友情链接更多精彩内容