案例一:判断奇偶数
- 提示用户键盘录入一个数据并接收.
- 判断该数据是奇数还是偶数, 并将结果打印到控制台上.
public class IfDemo03 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请录入一个整数: ");
int num = sc.nextInt();
if (num % 2 == 0) {
System.out.println(num + "是偶数");
} else {
System.out.println(num + "是奇数");
}
}
}
案例二:打印星期
用户录入[1, 7]之间的数字, 并接收,根据用户录入的数字, 打印对应的星期, 格式如下:
用户录入1, 打印"星期一"
用户录入2, 打印"星期二"
...以此类推
用户录入非法数字, 打印"没有这样的日期"
import java.util.Scanner;
public class IfDemo04 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请录入一个1 - 7之间的整数: ");
int week = sc.nextInt();
if (week == 1) {
} else if(week == 2) {
System.out.println("星期二");
} else if(week == 3) {
System.out.println("星期三");
} else if(week == 4) {
System.out.println("星期四");
} else if(week == 5) {
System.out.println("星期五");
} else if(week == 6) {
System.out.println("星期六");
} else if(week == 7) {
System.out.println("星期日");
} else {
System.out.println("没有这样的日期, 你是从火星来的吧!");
}
}
}
案例三:发放奖励
需求:小明快要期末考试了,小明爸爸对他说,会根据他的考试成绩,送他不同的礼物.礼物标准如下:
90~100 山地自行车一辆
80~89 游乐场玩一次
70~79 变形金刚玩具一个
70以下 胖揍一顿
import java.util.Scanner;
public class IfDemo05 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请录入小明的考试成绩: ");
int score = sc.nextInt();
if (score >= 95 && score <= 100) {
System.out.println("奖励小明: 山地自行车一辆");
} else if(score >= 90 && score < 95) {
System.out.println("奖励小明: 游乐场玩儿一次");
} else if(score >= 80 && score < 90) {
System.out.println("奖励小明: 变形金刚玩具一个");
} else if(score >= 0 && score < 80){
System.out.println("奖励小明: 男女双混组合拳 + 扫帚棒法");
} else {
System.out.println("考试成绩录入有误.");
}
}
}
案例三改:用switch语句求案例三
import java.util.Scanner;
public class SwitchDemo09 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请录入小明的考试成绩: ");
int score = sc.nextInt();
if (score >= 0 && score <= 100) {
//合法成绩
switch (score / 10) {
case 10:
case 9:
System.out.println("奖励小明: 山地自行车一辆");
break;
case 8:
System.out.println("奖励小明: 游乐场玩儿一次");
break;
case 7:
System.out.println("奖励小明: 变形金刚玩具一个");
break;
default:
System.out.println("奖励小明: 男女双混组合拳 + 扫帚棒法");
break;
}
} else {
//非法成绩
System.out.println("您录入的成绩有误!");
}
}
}
案例四:获取最大值
提示用户录入3个整数, 并接收.
通过if语句获取这三个整数的最大值.
将结果打印到控制台上.
import java.util.Scanner;
public class IfDemo06 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请录入第一个整数: ");
int a = sc.nextInt();
System.out.println("请录入第二个整数: ");
int b = sc.nextInt();
System.out.println("请录入第三个整数: ");
int c = sc.nextInt();
//方式一: if嵌套实现.
int max = a;
int max2 = a;
if (a > b) {
if (a > c) {
max = a;
} else {
max = c;
}
} else {
if(b > c) {
max = b;
} else {
max = c;
}
}
System.out.println("最大值: " + max);
//方式二: if. else.if语句实现
if (a > b && a > c) {
max2 = a;
} else if(b > a && b > c) {
max2 = b;
} else {
max2 = c;
}
System.out.println("最大值: " + max2);
}
}
案例五:春夏秋冬
一年有12个月, 分属于春夏秋冬4个季节, 键盘录入一个月份, 请用程序实现判断该月份属于哪个季节, 并输出。
具体标准如下:
输入: 1、2、12 输出:冬季
输入: 3、4、5 输出:春季
输入: 6、7、8 输出:夏季
输入: 9、10、11 输出:秋季
输入:其它数字 输出:数字有误
import java.util.Scanner;
public class SwitchDemo08 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请录入一个月份: ");
int month = sc.nextInt();
switch (month) {
case 12:
case 1:
case 2:
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;
}
}
}
案例六:涨工资
根据工龄(整数)给员工涨工资(整数), 工龄和基本工资通过键盘录入
涨工资的条件如下:
[10-15) +5000,
[5-10) +2500
[3~5) +1000
[1~3) +500
[0~1) +200
public static void main(String[] args) {
// 1.创建键盘录入对象
Scanner sc = new Scanner(System.in);
// 2.定义变量age表示工龄(假设为int类型),定义变量salary表示基本工资(假设为int类型)
// int age,salary;
// 3.通过键盘录入给工龄age赋值和基本工资salary赋值
// age = sc.nextInt();
// salary = sc.nextInt();
int age = sc.nextInt();
int salary = sc.nextInt();
int addSalary = 0;
// 4.对工龄进行逻辑判断,根据不同的工龄区间,进行涨工资salary+=n;(n表示:涨工资的数量)
if(age>=15||age<0) {
System.out.println("您输入的工龄不合法~");
return ;
}
//[10-15) +5000
if(age>=10&&age<15) {
addSalary = 5000;
} else if(age>=5&&age<10){//[5-10) +2500
addSalary = 2500;
} else if(age>=3&&age<5) {//[3~5) +1000
addSalary = 1000;
} else if(age>=1&&age<3) {//[1~3) +500
addSalary = 500;
} else if(age>=0&&age<1) {//[0~1) +200
addSalary = 200;
}
// 5.按照格式进行打印
System.out.println("您目前工作了"+age+"年,基本工资为 "+salary+"元, 应涨工资 "+addSalary+"元,涨后工资 "+(salary+addSalary)+"元");
}
案例七:水仙花数
键盘录入一个三位数字,输出该三位数字是否是水仙花数字?
水仙花数字要求: 指的是一个三位数,个位、十位、百位的数字立方和等于原数
例如 153 333 + 555 + 111 = 27 + 125 + 1 = 153
public static void main(String[] args) {
//1.创建键盘录入对象
Scanner sc = new Scanner(System.in);
//2.获取一个int数字
System.out.println("请输入一个三位整数");
int num = sc.nextInt();
//3.获取个位,十位,百位
int ge = num%10;
int shi = num/10%10;
int bai = num/100%10;
//4.求个位,十位,百位的立方和
int sum = ge*ge*ge + shi*shi*shi + bai*bai*bai;
//5.利用if语句判断立方和是否等于该数字本身,并输出结果
if(sum == num) {
System.out.println(num+"是水仙花数字 ");
} else {
System.out.println(num+"不是水仙花数字 ");
}
}
输入一个100-1000之内的三位数,求该数与100之间的水仙花数以及水仙花数的个数
public class Demo10 {
public static void main(String[] args) {
int ge, shi, bai,count = 0;
for (int i = 100; i < 1000; i++) {
ge = i / 1 % 10;
shi = i / 10 % 10;
bai = i / 100 % 10;
if (i == ge * ge * ge + shi * shi * shi + bai * bai * bai) {
System.out.println(i);
count++;
}
}
System.out.println("水仙花数的个数为: " + count);
}
}
案例八
求 1 ~ 100 之间的奇数和 ,以及奇数的个数
public class ForDemo07 {
public static void main(String[] args) {
int count = 0;
int sum = 0;
for (int i = 1; i <= 100 ; i++) {
if (i % 2 != 0) {
sum += i;
count++;
}
}
System.out.println("1-100之间的奇数个数为: " + count + ", 这些奇数的总和为: " + sum);
}
}
案例九
把 1~ 100 之间的数字 按照一行6个进行输出
public class Demo10 {
public static void main(String[] args) {
for (int i=1;i <= 100;i++){
System.out.print(i+" ");
if (i%6 == 0){
System.out.println();
}
}
}
}
案例十
按照从大到小的顺序输出个位+百位=十位+千位的数字及个数;每行输出5个满足条件的数,之后用空格分隔
public class Demo10 {
public static void main(String[] args) {
int count = 0;
System.out.println("满足条件的数为:");
for (int i = 9999;i >=1000;i--){
int ge = i%10;
int shi = i/10%10;
int bai = i/100%10;
int qian = i/1000;
if (ge + bai == shi + qian){
System.out.print(i+" ");
count++;
if (count%5 == 0){
System.out.println();
}
}
}
System.out.println("满足条件的个数为"+count);
}
}
案例十一
录入一个大于100的三位数,求与100之间满足各位数不为7,十位数不为5,百位数不为3的数字之和
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个大于100的三位数:");
int num = sc.nextInt();
int sum = 0;
for (int i=100;i<num;i++){
int ge = i%10;
int shi = i/10%10;
int bai = i/100;
if (ge != 7 || shi != 5 || bai !=3){
sum += i;
}
}
System.out.println("该数与100之间满足条件的数字之和为:"+sum);