java - 如何将给定的长度转换为厘米并将其表示为公里、米和厘米的组合?

标签 java

我需要获取用户输入的厘米数,然后将其表示为公里、米和厘米的组合。例如,1005020 厘米将分别为 10 公里、50 米和 20 厘米。

我刚刚开始,我觉得这是一个非常基本的问题,我感到很沮丧。

我尝试过编码,但遗憾的是无法达到预期的结果

 Scanner scanner = new Scanner(System.in);
 System.out.println("This program takes centimeter number and represent it as a combination of kilometer, meter, and centimeter");
 System.out.println("Please enter centimeters:");
 double centimeters = scanner.nextDouble();
 double convertedCentimeters = centimeters;

 double kilometers = (int) (convertedCentimeters / 100000);
 convertedCentimeters /= 100000;
 double meters = (int)(convertedCentimeters / 100);
 convertedCentimeters /= 100;

它将打印 10 公里、0.0 米和 0.10050200000000001 厘米。 我尝试过不进行强制转换,但 km 是错误的,尝试将所有内容都设置为 int ,但仍然错误。我真的很感谢你的帮助,我需要赢得这场比赛。如果您能引导我找到解决方案而不是直接告诉我,那就太好了。

最佳答案

您的答案中缺少的主要内容是使用模数,您需要使用模数来正确回答您的问题。考虑以下工作脚本:

int centimeters = 1005020;
int kilometers = centimeters / 100000;
int meters = (centimeters % 10000) / 100;
int centimetersFinal = centimeters % 100;

鉴于您想要报告每个单位的整数,我建议从各处开始使用整数。这也使算术变得更加容易。

公里值是通过将厘米量换算为公里的下限而获得的。在本例中,我们得到 10 公里,正如您所期望的那样,但我们不包括剩余部分,因为这属于米和厘米部分。

仪表值采用 mod 10000 来仅隔离严格小于一公里的组件。然后,我们除以 100 以去除厘米分量。

最后,厘米分量就是原始量除以 100 的余数。

关于java - 如何将给定的长度转换为厘米并将其表示为公里、米和厘米的组合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58801929/

相关文章:

java - 我可以控制 Java 监听器的刷新率吗?

Java-调用.net wcf web服务Spring

java - 使用不带服务器名的 LDAP 从 Java (Linux) 向 Active Directory 进行身份验证

java - 安卓 : Error in getting URI of an image

java - 嵌套类的初始化顺序

java - 抽象类构造函数实际使用

java - 如何使用 DAO 在 Spring Boot 查询中返回特定对象属性?

java - 手动编辑 Jar 以更改包名称

java - src 与构建树时间戳比较如何更快?

java - 将二维列表添加到多维数组列表