一、基础案例
题目1
键盘录入一个int类型的数据,使用三元运算符判断这个数是奇数还是偶数
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数:");
int input = sc.nextInt();
String a = "输入的整数是偶数";
String b = "输入的整数是奇数";
int result = input%2;
String c = result ==0?a:b;
System.out.println(c);
题目2
定义一个int类型的变量,初始化值为123,求这个数的个位,十位,百位分别是多少,输出结果:123的个位是3,十位是2,百位是1。
int num = 123;
int a = num%10;
int b = num/10%10;
int c = num/100;
System.out.println(num+ "的个位是"+a+", 十位是"+b+", 百位是"+c);
题目3
键盘录入一个长方形的长和宽(长和宽为int类型),计算长方形的面积和周长
Scanner sc = new Scanner(System.in);
System.out.println("请输入长方形的长:");
int length = sc.nextInt();
System.out.println("请输入长方形的宽:");
int width = sc.nextInt();
int area = length*width;
int perimeter = (length+width)*2;
System.out.println("长方形的面积是:"+area+", 它的周长是:"+ perimeter);
二、扩展案例
题目1
小明左、右手中分别拿两张纸牌(比如:黑桃10和红桃8,数字10和8可通过键盘录入),要求编写代码交换小明手中的牌
Scanner sc = new Scanner(System.in);
System.out.println("请输入小明左手中的纸牌:");
int left = sc.nextInt();
System.out.println("请输入小明右手中的纸牌:");
int right = sc.nextInt();
System.out.println("互换前小明手中的纸牌:");
System.out.println("左手中的纸牌:"+left);
System.out.println("右手中的纸牌:"+right);
int temp;
temp = left;
left = right;
right = temp;
System.out.println("互换后小明手中的纸牌:");
System.out.println("左手中的纸牌:"+left);
System.out.println("右手中的纸牌:"+right);
题目2
a.键盘录入学员张浩的3门课程(Java、SQL、Web)的成绩
b.编写程序实现:
(1)Java课程和SQL课程的分数值差
(2)3门课程的平均分
Scanner sc = new Scanner(System.in);
System.out.print("请输入Java的成绩:");
int javaScore = sc.nextInt();
System.out.println();
System.out.print("请输入SQL的成绩:");
int sqlScore = sc.nextInt();
System.out.println();
System.out.print("请输入Web的成绩:");
int webScore = sc.nextInt();
System.out.println("----------------------");
System.out.println("Java SQL Web");
System.out.println(javaScore+" "+sqlScore+" "+webScore);
System.out.println("----------------------");
int difference = javaScore - sqlScore;
System.out.println("Java和SQL的成绩差:"+ difference);
float averageScore = (javaScore+sqlScore+webScore)/3;
System.out.println("三门课的平均分是:"+ averageScore);
题目3
a.商场推出幸运抽奖活动,抽奖规则如下:
(1)键盘录入四位数字(1000-9999的数字),作为顾客的会员卡号
(2)该会员卡号(键盘录入的四位数字)各位数字之和大于20,则为幸运客户
Scanner sc = new Scanner(System.in);
System.out.print("请输入4位会员卡号:");
int account = sc.nextInt();
int a = account%10;
int b = account/10%10;
int c = account/100%10;
int d = account/1000;
int sum = a+b+c+d;
System.out.println("会员卡号"+account+"各位之和:"+sum);
if(sum>20) {
System.out.println("会员卡号"+account+"是幸运客户");
}else {
System.out.println("会员卡号"+account+"不是幸运客户");
}
题目4
分析以下需求,并用代码实现:
* a.根据工龄(整数)给员工涨工资(整数),工龄和基本工资通过键盘录入
* b.涨工资的条件如下:
* [10-15) +5000
* [5-10) +2500
* [3~5) +1000
* [1~3) +500
* [0~1) +200
* c. 如果用户输入的工龄为10,基本工资为3000,
* 程序运行后打印格式"您目前工作了10年,基本工资为 3000元,
* 应涨工资 5000元,涨后工资 8000元"
Scanner sc = new Scanner(System.in);
System.out.print("请输入工龄:");
int workAge = sc.nextInt();
System.out.print("请输入基本工资:");
int salary = sc.nextInt();
int salaryNow;
if(workAge>=0 && workAge<1) {
salaryNow= salary+200;
System.out.println("您目前工作了"+workAge+"年,基本工资为"+salary+"元,应涨工资 200元,涨后工资 "+salaryNow+"元");
}else if(workAge>=1 && workAge<3) {
salaryNow= salary+500;
System.out.println("您目前工作了"+workAge+"年,基本工资为"+salary+"元,应涨工资 500元,涨后工资 "+salaryNow+"元");
}else if(workAge>=3 && workAge<5) {
salaryNow= salary+1000;
System.out.println("您目前工作了"+workAge+"年,基本工资为"+salary+"元,应涨工资 1000元,涨后工资 "+salaryNow+"元");
}else if(workAge>=5 && workAge<10) {
salaryNow= salary+2500;
System.out.println("您目前工作了"+workAge+"年,基本工资为"+salary+"元,应涨工资 2500元,涨后工资 "+salaryNow+"元");
}else if(workAge>=10 && workAge<15) {
salaryNow= salary+5000;
System.out.println("您目前工作了"+workAge+"年,基本工资为"+salary+"元,应涨工资 5000元,涨后工资 "+salaryNow+"元");
}else {
System.out.println("请输入正确的工龄!!");
}
题目5
分析以下需求,并用代码实现:
* a.功能描述:模拟计算器功能,对键盘录入的两个int类型的数据进行加、减、乘、除的运算,并打印运算结果
* b.要求:
* (1)键盘录入三个整数,其中前两个整数代表参加运算的数据,
* 第三个整数为要进行的运算(0:表示加法运算,1:表示减法运算,2:表示乘法运算,3:表示除法运算)
* (2)使用今天所学知识完成功能
* (3)演示格式如下:
* 请输入第一个整数:30
* 请输入第二个整数:40
* 请输入您要进行的运算(0:表示加法运算,1:表示减法运算,2:表示乘法运算,3:表示除法运算):0
* 控制台输出:30+40=70
Scanner sc = new Scanner(System.in);
System.out.print("请输入第一个整数: ");
int num1 = sc.nextInt();
System.out.print("请输入第二个整数: ");
int num2 = sc.nextInt();
System.out.print("请输入您要进行的运算(0:表示加法运算,1:表示减法运算,2:表示乘法运算,3:表示除法运算): ");
int operator = sc.nextInt();
int result;
switch(operator) {
case 0:
result = num1+num2;
System.out.println(num1+" + "+num2+" = "+result);
break;
case 1:
result = num1-num2;
System.out.println(num1+" - "+num2+" = "+result);
break;
case 2:
result = num1*num2;
System.out.println(num1+" * "+num2+" = "+result);
break;
case 3:
result = num1/num2;
System.out.println(num1+" / "+num2+" = "+result);
break;
default:
System.out.println("警告!!!!请输入正确的运算符序号!!!!");
}
题目6
键盘录入月份,输出对应的季节
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个月份: ");
int month = sc.nextInt();
if(month>=3 && month<=5) {
System.out.println(month+"月份是春季");
}else if(month>=6 && month<=8) {
System.out.println(month+"月份是夏季");
}else if(month>=9 && month<=11) {
System.out.println(month+"月份是秋季");
}else if(month>=1 && month<=2 || month ==12) {
System.out.println(month+"月份是冬季");
}else {
System.out.println("请输入合法的月份!!!!");
}