1. 训练案例1
1.1. 训练描述
键盘录入一个int类型的数据,使用三元运算符判断这个数是奇数还是偶数
1.2. 操作步骤描述
- 创建键盘录入对象
- 调用方法获取输入的数据
- 将变量%2如果 == 0 是偶数,否则是奇数
- 输出结果
public class Test01 {
public static void main(String[] args) {
java.util.Scanner input = new java.util.Scanner(System.in);
System.out.println("请输入数字");
int a = input.nextInt();
String x = "偶数";
String y = "奇数";
System.out.print( (a%2==0)?x:y);
}
}
2. 训练案例2
2.1. 训练描述
定义一个int类型的变量,初始化值为123,求这个数的个位,十位,百位分别是多少,输出结果:123的个位是3,十位是2,百位是1
2.2. 操作步骤描述
- 定义变量初始化值为123
- 模10获取个位
- 先除以10,再模10获取到十位
- 除以100获取到百位
- 输出结果
public class Test02 {
public static void main(String[] args) {
int a = 123;
int ge = a%10;
int shi = a/10;
int bai = a/100;
System.out.println("123的个位是"+ge+",十位是"+shi+",百位是"+bai);
}
}
3. 训练案例3
3.1. 训练描述
键盘录入一个长方形的长和宽(长和宽为double类型),计算长方形的面积和周长
3.2. 操作步骤描述
- 使用输出语句提示用户输入长方形的长
- 使用Scanner类录入长方形的长
- 使用输出语句提示用户输入长方形的宽
- 使用Scanner类录入长方形的宽
- 定义变量保存长方形的面积,面积=长*宽
- 定义变量保存长方形的周长,周长=(长+宽)*2
- 使用输出语句输出面和和周长
public class Test03 {
public static void main(String[] args) {
java.util.Scanner input = new java.util.Scanner(System.in);
System.out.println("请输入长方形的长");
double long1 = input.nextDouble();
System.out.println("请输入长方形的宽");
double wide1 = input.nextDouble();
double area =long1*wide1;
double girth= (long1 + wide1)*2;
System.out.println("长方形的面积:"+area);
System.out.println("长方形的周长:"+girth);
}
}
二、 扩展案例
1. 训练案例1(讲)
1.1. 训练描述
1.小明左、右手中分别拿两张纸牌(比如:黑桃10和红桃8,数字10和8可通过键盘录入),要求编写代码交换小明手中的牌
2.程序运行的结果如下:
请输入小明左手中的纸牌:10
请输入小明右手中的纸牌:8
互换前小明手中的纸牌:
左手中的纸牌:10
右手中的纸牌:8
互换后小明手中的纸牌:
左手中的纸牌:8
右手中的纸牌:10
1.2. 操作步骤描述
- 创建Scanner对象
- 录入第一个数据赋值给变量left
- 录入第二个数据赋值给变量right
- 定义一个临时变量temp,保存left的值
- 将right的值赋值给left
- 将临时变量temp的值赋值给right
- 按格式打印left和rigth中的值
public class TZtest01 {
public static void main(String[] args) {
java.util.Scanner input = new java.util.Scanner(System.in);
System.out.println("请输入小明左手中的纸牌:10");
int left = input.nextInt();
System.out.println("请输入小明右手中的纸牌:8");
int right = input.nextInt();
System.out.println("交换");
int temp = left;
left = right;
right = temp;
System.out.println("小明左手中的纸牌:"+left);
System.out.println("小明右手中的纸牌:"+right);
}
}
2. 训练案例2
2.1. 训练描述
1.键盘录入学员张浩的3门课程(Java、SQL、Web)的成绩
2.编写程序实现:
(1)Java课程和SQL课程的分数值差
(2)3门课程的平均分
3.程序运行格式:
请输入Java的成绩:100
请输入SQL的成绩:60
请输入Web的成绩:80
Java SQL Web
100 60 80
Java和SQL的成绩差:40
三门课的平均分是:80.0
2.2. 操作步骤描述
9. 创建键盘录入对象
10. 定义三个变量用于存储三门课程的成绩
11. 使用nextInt()方法给三门课程的变量赋值
12. 定义存储差值及平均值的变量
13. 求差值和平均值
14. 打印最终结果
public class TZtest02 {
public static void main(String[] args) {
java.util.Scanner input = new java.util.Scanner(System.in);
System.out.println("请输入Java的成绩:");
int java = input.nextInt();
System.out.println("请输入SQL的成绩:");
int sql = input.nextInt();
System.out.println("请输入Web的成绩:");
int web = input.nextInt();
int diff = java - sql;
int ave = (java + sql + web)/3;
System.out.println("Java课程和SQL课程的分数值差:"+diff);
System.out.println("3门课程的平均分"+ave);
}
}
3. 训练案例3
3.1. 训练描述
1.商场推出幸运抽奖活动,抽奖规则如下:
(1)键盘录入四位数字(1000-9999的数字),作为顾客的会员卡号
(2)该会员卡号(键盘录入的四位数字)各位数字之和大于20,则为幸运客户
2.打印格式:
请输入4位会员卡号:3569
会员卡号3569各位之和:23
会员卡号3569是幸运客户
请输入4位会员卡号:1234
会员卡号3569各位之和:10
会员卡号3569不是幸运客户
3.2. 操作步骤描述
1.创建键盘录入对象
2.定义int类型的变量(保存会员卡号),并通过键盘录入给变量赋值
3.使用/和%求出个位、十位、百位、千位上的数字
4.定义int类型的变量sum
5.计算各位数字之和并复制给sum
6.按照格式打印
(1)打印各位数字之和
(2)打印是或者不是幸运客户(是或者不是,可以通过三元运算符判断sum的值获取是或者不是)
public class TZtest03 {
public static void main(String[] args) {
java.util.Scanner input = new java.util.Scanner(System.in);
System.out.println("请输入四位数字(1000-9999的数字)作为顾客的会员卡号");
int vip = input.nextInt();
int ge = ((vip%1000)%100)%10;
int shi = vip%1000%100/10;
int bai = vip%1000/100;
int qian = vip/1000;
int sum = ge + shi +bai + qian;
System.out.println("会员卡号"+vip+"各位之和:"+sum);
System.out.println(sum>20?"是幸运客户":"不是幸运客户");
}
}
4. 训练案例4
4.1. 训练描述
分析以下需求,并用代码实现:
1.根据工龄(整数)给员工涨工资(整数),工龄和基本工资通过键盘录入
2.涨工资的条件如下:
[10-15) +5000
[5-10) +2500
[3~5) +1000
[1~3) +500
[0~1) +200
3.如果用户输入的工龄为10,基本工资为3000,程序运行后打印格式"您目前工作了10年,基本工资为 3000元, 应涨工资 5000元,涨后工资 8000元"
public class TZtest04 {
public static void main(String[] args) {
int zhang = 0 ;
int wage ;
java.util.Scanner input= new java.util.Scanner(System.in);
System.out.println("请输入工龄");
int gongLin = input.nextInt();
if(gongLin>=0 &gongLin<1){
zhang = 200;
}else if (gongLin>=1 &gongLin<3){
zhang = 500;
}else if(gongLin>=3 &gongLin<5){
zhang = 1000;
}else if(gongLin>=5 &gongLin<10){
zhang = 2500;
}else if(gongLin>=10 &gongLin<15){
zhang = 5000;
}else{
System.out.println("输入错误");
}
wage = 3000 + zhang;
System.out.println("您目前工作了"+gongLin+"年,基本工资为 3000元, 应涨工资"+zhang+" 涨后工资"+wage+" 元");
}
}
5. 训练案例5
5.1. 训练描述
分析以下需求,并用代码实现:
1.功能描述:模拟计算器功能,对键盘录入的两个int类型的数据进行加、减、乘、除的运算,并打印运算结果
2.要求:
(1)键盘录入三个整数,其中前两个整数代表参加运算的数据,
第三个整数为要进行的运算(0:表示加法运算,1:表示减法运算,2:表示乘法运算,3:表示除法运算)
(2)使用今天所学知识完成功能
(3)演示格式如下:
请输入第一个整数:30
请输入第二个整数:40
请输入您要进行的运算(0:表示加法运算,1:表示减法运算,2:表示乘法运算,3:表示除法运算):0
控制台输出:30+40=70
public class TZtest05 {
public static void main(String[] args) {
java.util.Scanner input= new java.util.Scanner(System.in);
int x = 0;
System.out.println("请输入第一个整数");
int a = input.nextInt();
System.out.println("请输入第二个整数");
int b = input.nextInt();
System.out.println("请输入第三个整数");
int c = input.nextInt();
System.out.println("请输入您要进行的运算(0:表示加法运算,1:表示减法运算,2:表示乘法运算,3:表示除法运算)");
int d = input.nextInt();
if(d==0){
x=a+b;
System.out.println(a+"+"+b+"="+x);
}else if(d==1){
x=a-b;
System.out.println(a+"-"+b+"="+x);
}else if(d==2){
x=a*b;
System.out.println(a+"*"+b+"="+x);
}else if(d==3){
x=a/b;
System.out.println(a+"/"+b+"="+x);
}
}
}
6. 训练案例6
6.1. 训练描述
键盘录入月份,输出对应的季节
6.2. 操作步骤描述
(1)键盘录入一个整数(代表月份,范围1-12)
(2)输出该月份对应的季节
3,4,5春季
6,7,8夏季
9,10,11秋季
12,1,2冬季
(3)演示格式如下:
请输入一个月份:3
控制台输出:3月份是春季
public class TZtest06 {
public static void main(String[] args) {
java.util.Scanner input= new java.util.Scanner(System.in);
System.out.println("请输入月份");
int a = input.nextInt();
if(a==3 || a==4 || a== 5){
System.out.println(a+"月份是春季");
}else if(a==6 || a==7 || a== 8){
System.out.println(a+"月份是夏季");
}else if(a==9 || a==10 || a== 11){
System.out.println(a+"月份是秋季");
}else if(a==12 || a==1 || a== 2){
System.out.println(a+"月份是冬季");
}
}
}