流妹 2015-07-07 13:11 采纳率: 33.3%
浏览 1657
已采纳

刚学java的新手遇到的问题

题目是这样的,编一程序,将摄氏度换为华氏度。公式为: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位小数

  • 写回答

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));
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
  • ¥15 钢筋实图交点识别,机器视觉代码
  • ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
  • ¥50 400g qsfp 光模块iphy方案
  • ¥15 两块ADC0804用proteus仿真时,出现异常
  • ¥15 关于风控系统,如何去选择
  • ¥15 这款软件是什么?需要能满足我的需求
  • ¥15 SpringSecurityOauth2登陆前后request不一致