题目:
编写一个编程,给定一个t的值(可初始化定义),按下式计算y值并输出,要求分别写作if语句和switch语句。
t-1 0≤t<1
t3-2·t-3 1≤t<3
y= t2-t·cos(t) 3≤t<5
t+1 其它
(1)问题分析
先用if语句理出4种情况,再用switch语句分别对这四种情况分别进行讨论。
(2)代码实现
1. 在这里插入代码片
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.util.Scanner;
public class Ex1_1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input=new Scanner(System.in);
System.out.println("请输入t");
double t=input.nextDouble();
double y=0;
int temp=0;
if(t>=0&&t<1)temp=1;
else if(t>=1&&t<3)temp=2;
else if(t>=3&&t<5)temp=3;
else temp=-1;
switch(temp) {
case 1:
y=t-1;
break;
case 2:
y=t*t*t-2*t-3;
break;
case 3:
y=t*t-t*Math.cos(t);
break;
default:
y=t+1;
break;
}
//System.out.println(String.format("%.2f", y));
DecimalFormat df=new DecimalFormat("#.00");
System.out.println(df.format(y));
}
}
(3)运行结果
(4)总结
取小数点后两位的方法:
1、结果作为字符串类型的数据直接输出:
System.out.println(String.format("%.2f", y));//推荐
2、DecimalFormate的formate方法
DecimalFormat df=new DecimalFormat("#.00");
System.out.println(df.format(y));
3、cos(t)的表达式是Math.cos(t)。
使用了默认引用包java.lang