题目是这样的,编一程序,将摄氏度换为华氏度。公式为:f=c*9/5+32.其中f为华氏度,c为摄氏度。
以下是我的代码
import java.util.*;
public class Main{
public static void main (String[] args){
Scanner in1 = new Scanner(System.in);
int c =in1.nextInt();
double f = c*9/5+32;
System.out.println(f);
}
}
结果只有一位小数,不知道要怎样才能转换为2位小数
刚学java的新手遇到的问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- JonsonJiao 2015-07-08 01:26关注
c*9/5+32
你这个计算式子中都是整型参数,默认会取整的,计算结果不精确,需要最前面的参数转换为double进行计算,简单来讲就是乘以1.0,即计算式修改为:
double f = c*1.0*9/5+32;
然后就是格式化的问题了,建议你使用java.text.DecimalFormat,其参数中可以指定小数的位数,如下面的小数点后面两个零表示两位小数,0和#的区别在于#在最前面和最后面代表0时不显示该位,0会强制显示为0。
double f = c*1.0*9/5+32; DecimalFormat df = new DecimalFormat("#.00"); System.out.println(df.format(f));
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 x趋于0时tanx-sinx极限可以拆开算吗
- ¥500 把面具戴到人脸上,请大家贡献智慧
- ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
- ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
- ¥30 c#打开word开启修订并实时显示批注
- ¥15 如何解决ldsc的这条报错/index error
- ¥15 VS2022+WDK驱动开发环境
- ¥30 关于#java#的问题,请各位专家解答!
- ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
- ¥20 pcf8563时钟芯片不启振