第一本书 第四章(课后题)
1、选择题
1、B 2、A 3、C 4、CD 5、A
2、简答题
1、说明什么情况下可以使用switch选择结构代购多重if选择结构。
整形变量,字符型变量 等值!
2、使用switch结构实现,为小明制定学习计划,星期一、星期三、星期五学习编程,星期二、星期四、星期六学习英语,星期日休息。程序运行结果如图4.8 4.9
package demo4;
import java.util.Scanner;
public class F2 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("请输入星期几:(1~7)");
int num=input.nextInt();
switch(num){
case 1:
case 3:
case 5:System.out.println("学习编程");break;
case 2:
case 4:
case 6:System.out.println("学习英语");break;
case 7:System.out.println("休息");break;
default :System.out.println("对不起,输入错误!");break;
}
}
}
3、使用switch选择结构完成本书第3章第5题的要求,实现父母对刘珊珊的承诺
(这个题用switch做还不如if else更好 纯粹个人想法!)
package demo4;
import java.util.Scanner;
public class F3 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("请输入刘珊珊同学的成绩:");
double score=input.nextDouble();
int num=(int)score;
num=num/10;
switch(num){
case 10:
System.out.println("父亲给她买一辆车。");break;
case 9:
System.out.println("母亲给她买一部笔记本电脑。");break;
case 8:
case 7:
case 6:
System.out.println("母亲给她买一部手机。");break;
default :
System.out.println("没有礼物。");break;
}
}
}
4、使用switch选择结构完成本书第3章第6题的要求,根据月份和选择的舱位输出实际的机票价格
package demo4;
import java.util.Scanner;
public class F4 {
public static void main(String[] args) {
double money=5000;
Scanner input=new Scanner(System.in);
System.out.println("请输入您出行的月份:1~12");
int month=input.nextInt();
if((month>=1)&&(month<=12)){
switch(month){
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
System.out.println("请问您选择头等舱还是经济舱:头等舱输入1,经济舱输入2:");
String change=input.next();
if(change.equals("1")){
money=money*0.9;
System.out.println("您的机票价格为:"+money);
}else if(change.equals("2")){
money=money*0.8;
System.out.println("您的机票价格为:"+money);
}
break;
default :
System.out.println("请问您选择头等舱还是经济舱:头等舱输入1,经济舱输入2:");
String change1=input.next();
if(change1.equals("1")){
money=money*0.5;
System.out.println("您的机票价格为:"+money);
}else if(change1.equals("2")){
money=money*0.4;
System.out.println("您的机票价格为:"+money);
}
break;
}
}else{
System.out.println("您输入的月份有误!");
}
}
}
5、编程实现迷你计算机功能,支持"+" "-" "*" "/"从控制台输入两个操作数,输出运算结果,如图4.10 4.11
package demo4;
import java.util.Scanner;
public class F5 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("请输入第一个操作数:");
if(input.hasNextDouble()==true){
double num1=input.nextDouble();
System.out.println("请输入第二个操作数:");
double num2=input.nextDouble();
System.out.println("请输入操作运算符:");
char word=input.next().charAt(0);
switch(word){
case '+':{System.out.println("结果为:"+(num1+num2));break;}
case '-':{System.out.println("结果为:"+(num1-num2));break;}
case '*':{System.out.println("结果为:"+(num1*num2));break;}
case '/':{System.out.println("结果为:"+(num1/num2));break;}
default:{
System.out.println("输入有误!");break;
}
}
}else{
System.out.println("请输入正确的数字!");
}
}
}