1、案例需求
(1)随机输入两个数字,将两个数字交换。
(2)随机输入一个五位数,并且逆序输出各位数字。
(3)随机输入哪一年的哪一月,判断这个月有多少天。
2、过程思路
(1)首先需要定义我们输入的两个数字,要将两个数字交换位置,采用赋值的方法,直接两个数字进行赋值,我们会发现这时候会出现两个数字都相等的情况,也就是我们会丢失一个数据,那么就需要定义一个中介来帮我们存放数值。
(2)首先定义我们输入的这个五位数,然后用%10和/10来做就可以。
(3)首先定义两个位置用来存放我们输入的年份和月份,然后每一年的小月都是30天,大月都是31天,可以用swich语句来做,我这里是用if多分支来做的,比较麻烦。唯一要注意的是,闰年的二月是29天,平年的二月是28天,这里用到if语句判断闰年和平年就好了。
3.源码
(1)
package day02;
import java.util.Scanner;
public class Demo1 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入一个数:");
int a=scanner.nextInt();
System.out.println("请输入另一个数:");
int b=scanner.nextInt();
System.out.println("将两个数进行交换");
int t=0;
t=a;
a=b;
b=t;
System.out.println("交换后 a ="+a);
System.out.println("交换后 b ="+b);
}
}
(2)
System.out.println("请输入一个5位数(例如:12345)");
Scanner scanner=new Scanner(System.in);
int a=scanner.nextInt();
System.out.println(a);
System.out.println(a+"的个位是:"+a%10);
System.out.println(a+"的十位是:"+a/10%10);
System.out.println(a+"的百位是:"+a/100%10);
System.out.println(a+"的千位是:"+a/1000%10);
System.out.println(a+"的万位是:"+a/10000%10);
(3)
String x;
int y=0;
System.out.println("请输入年份");
Scanner scanner=new Scanner(System.in);
int a=scanner.nextInt();
System.out.println("请输入月份");
int b=scanner.nextInt();
if (a%4==0&&a%100!=0||a%400==0){
x="闰年";
}else {
x="平年";
}
if (b==1||b==3||b==5||b==7||b==8||b==10||b==12){
y=31;
}else if(b==4||b==6||b==9||b==11){
y=30;
}else if (x=="闰年"&&b==2){
y=28;
}else if (x=="平年"&&b==2){
y=29;
}
System.out.println("显示:"+a+"年是"+x+","+b+"月为"+y+"天");
4、小结
写Java如果有要输入的地方,记得先导入scanner类,然后就是使用条件语句时,如果你的条件句是判断数值(一个具体的值),比如本文例二中的判断月份,其实用swich语句会更加简单,如果是判断范围的话,可以用if语句。判断数值是否相等时,用“==”就可以,但是判断字符串是否相等,要用到“.equals()”方法。