实验6 分支结构(一)
【实验目的】
1. 熟悉逻辑表达式的正确书写。 2. 掌握if语句的几种组成结构。 【实验内容】
实验4.1 编写一程序计算广州到长沙的高铁票票价,全价380,学生票,75折,小孩票5折。请输入一个旅客,求他需要付的费用。
注意:此题需要判断购买的对象,可以用一个字符串来记录输入的是学生,小孩,或者是普通旅客。可以用如下代码来记录:
String str=JOptionPane.showInputDialog(\请输入购买人的类型:\
Str中是你输入的学生,小孩,或者是普通旅客,然后,需要判断str是三者中的哪一种,这时,我们不用以下代码:
if(str==”学生”){…}
在java中判断两个字符串是否相等我们一般使用String类的equals()方法。 其使用方法如下:
if(str.equals(学生)){…}//此代码是如果str是学生…
}
}
else if(str.equals(\成人\)) a=1;
else if(str.equals(\小孩\)) a=0.5;
JOptionPane.showMessageDialog(null,380*a); package pack3;
import javax.swing.JOptionPane; public class yp1 {
public static void main(String[]args) {
String str;
str=JOptionPane.showInputDialog(\请输入购买人的类型:\); double a = 0;
if(str.equals(\学生\)) a=0.75;
实验4.2 编写程序根据范围计算价钱,计算方法如下:在购买某物品时,若所花的钱x在下述范围内,所付钱y按对应折扣支付:
?x?0.9x?y???0.8x??0.7xx?10001000?x?20002000?x?3000x?3000保存文件名:SY3_2.java 【提示】
用多分支实现,注意计算公式和条件表达式的正确写法。
package pack3;
import javax.swing.JOptionPane;
public class yp4 { }
public static void main(String[]args){ }
String str;
str=JOptionPane.showInputDialog(\请输入价格\); double a=0; if(x<1000)
a=1; a=0.9; a=0.8; a=0.7;
else if(x>=1000&&x<2000) else if(x>=2000&&x<3000) else if(x>=3000)
JOptionPane.showMessageDialog(null,a*x);
double x=Integer.parseInt(str);
实验4.3 编写程序,根据上网时间计算上网费用,计算方法如下:
?30元基数?费用??每小时3元?每小时2.5元??10小时10~50小时?50小时
同时为了鼓励多上网,每月收费最多不超过150元。 【提示】
假设上网费用为y,要满足“每月收费最多不超过150元”只需在分别讨论了前面三种情况之后,判断y是否大于150,若是,则令y=150即可。
package pack3;
import javax.swing.JOptionPane;
public class yp5 {
public static void main(String[]args){ String str;
str=JOptionPane.showInputDialog(\请输入时间\ double a=30;
double x=Integer.parseInt(str); if(2.5*x>150)
JOptionPane.showMessageDialog(null,150); else{
if(x<10)
JOptionPane.showMessageDialog(null,a); else if(x>=10&&x<50) a=3; else if(x>=50) a=2.5;
JOptionPane.showMessageDialog(null,x*a); } } }
实验4.4 (选做)编程:用户输入a,b,c,求一元二次方程ax2 + bx + c = 0的实数解。 【提示】
一元二次方程的实数解分以下几种情况: 若a=0,不是二次方程。
若a≠0,则求出判别式d = b2-4ac。
如果d≥0,可求出实根:
x1??b?d?b?d,x2?2a2a如果d<0,则没有实根。