if
- 某商场购物可以打折,具体规则如下:
普通顾客购不满100元不打折,满100元打9折;
会员购物不满200元打8折,满200元打7.5折;
不同打折规则不累加计算。
请根据此优惠计划进行购物结算,键盘录入顾客的类别(0表示普通顾客,1表示会员)和购物的折前金额(整数即可),输出应付金额(小数类型)。
import java.util.Scanner;
public class Demo4 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 调用方法获取键盘录入的顾客类别和购物金额
System.out.println("请输入顾客类别(0表示普通顾客,1表示会员顾客):");
int type = sc.nextInt();
System.out.println("请输入购物金额:");
int money = sc.nextInt();
// 先判断顾客类别
if (type == 0) {
// 普通顾客,再判断购物金额
if (money > 0 && money < 100) {
System.out.println("您的应付金额为:" + money);
} else if (money >= 100) {
System.out.println("您的应付金额为:" + money * 0.9);
} else {
System.out.println("您输入的金额有误");
}
} else if (type == 1) {
// 会员顾客,再判断购物金额
if (money > 0 && money < 200) {
System.out.println("您的应付金额为:" + money * 0.8);
} else if (money >= 200) {
System.out.println("您的应付金额为:" + money * 0.75);
} else {
System.out.println("您输入的金额有误");
}
} else {
System.out.println("您输入的顾客类别有误");
}
}
}
- 输入一个整数,如果此数为0,则输出”👊”,如果此数为1,则输出”✌”,如果此数为2,则输出”🤚”,如果为其它,则输出”❌”!
public static void main(String[] args) {
System.out.println("请输入一个整数:");
Scanner sc = new Scanner(System.in);
int number = sc.nextInt();
if(number==0){
System.out.println("石头");
}else if(number==1){
System.out.println("剪刀");
} else if(number==2){
System.out.println("布");
}else{
System.out.println("错误");
}
}
- 输入三个数比较大小,输出最大的数。
System.out.println("请输入三个数:");
Scanner sc = new Scanner(System.in);
String x=sc.nextLine();
String y=sc.nextLine();
String z=sc.nextLine();
//把数字类型的字符串转换成double类型
Double a=Double.parseDouble(x);
Double b=Double.parseDouble(y);
Double c=Double.parseDouble(z);
if(a>b){
if(a>c){
System.out.println("最大的数:"+a);
}
else
{
System.out.println("最大的数:"+c);;
}
}
else
{
if(b>c){
System.out.println("最大的数:"+b);
}
else
{
System.out.println("最大的数:"+c);
}
}
}
- 输入一个整数,如果输入的数大于等于1000,那么输出“输入的数>=1000”,否则的话就输出“输入的<1000”。
public static void main(String[] args) {
System.out.println("输入一个整数:");
Scanner sc = new Scanner(System.in);
int number = sc.nextInt();
if(number>=1000){
System.out.println("输入的数>=1000");
}else{
System.out.println("输入的数<1000");
}
}
- 输入三个int型的数据,放入到a,b,c三个变量中去,使用条件结构与交换逻辑将这三个变量中的值从小到大排列。
public static void main(String[] args) {
System.out.println("请输入三个整数:");
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
int c = sc.nextInt();
int max =a;
if(b>a&&b>c){
max = b;
}
if(c>a&&c>b){
max = c;
}
int min = a;
if(b<a&&b<c){
min = b;
}
if(c<a&&c<b){
min = c;
}
int middle = (a+b+c)-(max+min);
System.out.println(min+","+middle+","+max);
}
}
- 输入一个年份,判是闰年还是平年。
public static void main(String[] args) {
System.out.println("请输入一个年份:");
Scanner sc = new Scanner(System.in);
int age = sc.nextInt();
if(age%4==0||age%100==0||age%400==0){
System.out.println(age+"是闰年!");
}else{
System.out.println(age+"是平年!");
}
- 手动输入一个整型会员号, 如果用户输入的是4位数字, 输出登录成功, 如果用户输入的不是4位数字, 输出“您输入的会员号有误”。
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入会员号:");
int memberNo = sc.nextLong();
if (memberNo>=1000&&memberNo<10000)
{
System.out.println("登录成功");
System.out.println("欢迎会员:"+memberNo+"号");
}else
{
System.out.println("您输入的会员号有误");
}
}
- 岳小鹏参加Java考试,他和父亲岳不群达成承诺:
如果:
成绩为100分时,奖励一辆BMW;
成绩为(80,99]时,奖励一台iphone xs max;
当成绩为[60,80]时,奖励一个 iPad;
其它时,什么奖励也没有。
请从键盘输入岳小鹏的期末成绩,并加以判断
import java.util.Scanner;
public class AfterClass{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("开始");
System.out.println("请输入一个分数:");
int score = sc.nextInt();
//数据测试:正确数据,边界数据,错误数据
if(score>100 || score<0){
System.out.println("你输入的分数有误");
}else if(score == 100){
System.out.println("奖励一辆BMW");
}else if(score>80 && score<=99){
System.out.println("奖励一台iphone xs max");
}else if(score>=60 && score<=80){
System.out.println("奖励一个 iPad");
}else{
System.out.println("奖励没有");
}
System.out.println("结束");
}
}
- 编写程序,声明2个int型变量并赋值。判断两数之和,如果大于等于50,打印“hello world!” 其他情况打印 “hello China!”
public static void main(String[] args) {
System.out.println("开始");
int a = 23;
int b = 24;
if(a + b >=50){
System.out.println("hello world!");
}else{
System.out.println("hello China!");
}
System.out.println("结束");
}
- 编写程序,声明2个double型变量并赋值。判断第一个数大于10.0, 且第2个数小于20.0,打印两数之和。否则,打印两数的乘积。
public static void main(String[] args) {
System.out.println("开始");
double a = 23.3;
double b = 24.1;
double c ;
if(a >10 && b <20){
c = a + b;
System.out.println("两数之和:"+ c);
}else{
c = a*b;
System.out.println("两数的乘积:"+ c);
}
System.out.println("结束");
}
- 编写程序:由键盘输入三个整数分别存入变量num1、num2、num3,对它们进行排序(使用 if-else if-else),并且从小到大输出。
import java.util.Scanner;
public class AfterClass2{
static int mum1,mum2,mum3,max,middle,min;
public static void main(String[] args) {
System.out.println("输入三个整数:");
Scanner sc = new Scanner(System.in);
mum1 = sc.nextInt();
mum2 = sc.nextInt();
mum3 = sc.nextInt();
if(mum2>mum1 && mum2>mum3){
max = mum2;
}else if(mum3>mum1 && mum3>mum2){
max = mum3;
}else {
max = mum1;
}
if(mum2<mum1 && mum2<mum3){
min = mum2;
}else if(mum3<mum1 && mum3<mum2){
min = mum3;
}else {
min = mum1;
}
middle = (mum1 + mum2 + mum3)-(max + min);
System.out.println(min+","+middle+","+max);
}
- 我家的狗5岁了,5岁的狗相当于人类多大呢?其实,狗的前两年每 一年相当于人类的10.5岁,之后每增加一年就增加四岁。那么5岁的狗 相当于人类多少年龄呢?应该是:10.5 + 10.5 + 4 + 4 + 4 = 33岁。
编写一个程序,获取用户输入的狗的年龄,通过程序显示其相当于人 类的年龄。如果用户输入负数,请显示一个提示信息。
import java.util.Scanner;
public class AfterClass2{
public static void main(String[] args) {
System.out.println("输入的狗的年龄:");
Scanner sc = new Scanner(System.in);
int mum1 = sc.nextInt();
double mum2 = 0;
if(mum1>=0 && mum1<=2){
mum2 = 10.5*mum1;
System.out.println("狗的"+mum1+"年龄相当于人类"+mum2+"年龄");
}else if(mum1>2){
mum2 = 10.5*2+4*(mum1-2);
System.out.println("狗的"+mum1+"年龄相当于人类"+mum2+"年龄");
}else{
System.out.println("你输入狗年龄有误");
}
}
}
- 大家都知道,男大当婚,女大当嫁。那么女方家长要嫁女儿,当然要提出一定的条件:高:180cm以上;富:财富1千万以上;帅:是。(注意:不用管单位)
如果这三个条件同时满足,则:“我一定要嫁给他!!!”
如果三个条件有为真的情况,则:“嫁吧,将就过日子。”
如果三个条件都不满足,则:“不嫁!”
public static void main(String[] args) {
int height = 180;
int fu = 1000;
boolean shuai = false;
if(height>=180 && fu>=1000 && shuai){
System.out.println("我一定要嫁给他!!!");
}else if(height>=180 || fu>=1000 || shuai){
System.out.println("嫁吧,将就过日子。");
}else{
System.out.println("不嫁!");
}
}
}
switch
-
switch后面使用的表达式可以是哪些数据类型的。
基本数据类型:byte, short, char(字符), int
包装数据类型:Byte, Short, Character, Integer
枚举类型:Enum
字符串类型:String(Jdk 7+ 开始支持) -
谈谈你对三元运算符、if-else和switch-case结构使用场景的理解。
三元运算符和 switch-case 都可以用 if-else 来表示。当数据类型满足且分支不是很多的时候可以用 三元运算符和 switch-case 来写。 -
模拟计算器功能,对键盘录入的两个int类型的数据进行加、减、乘、除的运算,并打印运算结果。
要求:
键盘录入三个整数,其中前两个整数代表参加运算的数据,第三个整数为要进行的运算(1:表示加法运算,2:表示减法运算,3:表示乘法运算,4:表示除法运算),演示效果如下:
请输入第一个整数: 30
请输入第二个整数: 40
请输入您要进行的运算(1:表示加法,2:表示减法,3:表示乘法,4:表示除法): 1
控制台输出:30+40=70
import java.util.Scanner;
public class Demo2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个整数:");
int num1 = sc.nextInt();
System.out.println("请输入第二个整数:");
int num2 = sc.nextInt();
System.out.println("请输入您要进行的运算(1:表示加法,2:表示减法,3:表示乘法,4:表示除法)");
int type = sc.nextInt();
// 使用switch语句判断计算类型,并输出相应的结果
switch (type) {
case 1:
System.out.println(num1 + " + " + num2 + " = " + (num1 + num2));
break;
case 2:
System.out.println(num1 + " - " + num2 + " = " + (num1 - num2));
break;
case 3:
System.out.println(num1 + " * " + num2 + " = " + (num1 * num2));
break;
case 4:
//除法有可能有小数,所以要用到强制转换
System.out.println(num1 + " / " + num2 + " = " + ((double)num1/ num2));
break;
default:
System.out.println("您输入的运算类别有误");
break;
}
}
}
- 从键盘分别输入年、月、日,判断这一天是当年的第几天 。
注:判断一年是否是闰年的标准: 1)可以被4整除,但不可被100整除 或 2)可以被400整除
import java.util.Scanner;
public class SwitchYing {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入年份:");
int year = sc.nextInt();
System.out.println("请输入月份:");
int month = sc.nextInt();
System.out.println("请输入日:");
int days = sc.nextInt();
int sumDays = 0;
if (year < 1 || month > 12 || month < 1 || days > 31 || days < 1) {
System.out.println("请输入正确的日期");
} else {
switch (month) {
case 12:
sumDays += 30;
//没有写break;会一直往下执行
case 11:
sumDays += 31;
case 10:
sumDays += 30;
case 9:
sumDays += 31;
case 8:
sumDays += 31;
case 7:
sumDays += 30;
case 6:
sumDays += 31;
case 5:
sumDays += 30;
case 4:
sumDays += 31;//举个例子,4月3号,刚开始sumDays=0,从case4进去,加上三月的31天
case 3:
sumDays += 28;//再进去case3,在加上2月的28天
case 2:
sumDays += 31;//再进去case2,在加上1月的31天
case 1:
sumDays += days;//在加case 1,加上日days
break;//结束
}
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
//判断如果是闰年,并且输入的月份大于2,则在原有的日期上加上1天
if (month > 2) {
sumDays += 1;
}
System.out.println("这是" + year + "年" + "的第" + sumDays + "天");
}
}
}
}
- 编写一个程序,为一个给定的年份找出其对应的中国生肖。中国的生肖基于12年一个周期, 每年用一个动物代表:rat(鼠)、ox(牛)、tiger(虎)、rabbit(兔)、dragon(龙)、snake(蛇)、horse(马)、sheep(羊)、monkey(猴)、 rooster(鸡)、dog(狗)、pig(猪)。
提示:2019年:猪 2019 % 12 == 3
import java.util.Scanner;
public class AfterClass2 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入年份:");
int year = scan.nextInt();
int mum = year%12;
switch (mum){
case 0:
System.out.println(year+"是属于猴");
break;
case 1:
System.out.println(year+"是属于鸡");
break;
case 2:
System.out.println(year+"是属于狗");
break;
case 3:
System.out.println(year+"是属于猪");
break;
case 4:
System.out.println(year+"是属于鼠");
break;
case 5:
System.out.println(year+"是属于牛");
break;
case 6:
System.out.println(year+"是属于虎");
break;
case 7:
System.out.println(year+"是属于兔");
break;
case 8:
System.out.println(year+"是属于龙");
break;
case 9:
System.out.println(year+"是属于蛇");
break;
case 10:
System.out.println(year+"是属于马");
break;
case 11:
System.out.println(year+"是属于羊");
}
}
}