Java 如何将米转换为英里,并以英尺和英寸为单位给出剩余值?
不知何故,输出结果总是完全错误。有办法解决这个问题吗Java 如何将米转换为英里,并以英尺和英寸为单位给出剩余值?,java,Java,不知何故,输出结果总是完全错误。有办法解决这个问题吗 import java.util.Scanner; public class MeterConversion { public static void main(String[] args) { int meters; System.out.print("Enter meters: "); Scanner userInput = new Scanner (System.in);
import java.util.Scanner;
public class MeterConversion {
public static void main(String[] args) {
int meters;
System.out.print("Enter meters: ");
Scanner userInput = new Scanner (System.in);
meters = userInput.nextInt();
double inches = (3.3 * 12 * meters);
int feet = (int) (inches / 12);
int miles = (feet / 5280);
int milesConversion = (miles - (meters % miles));
int feetConversion = ((miles - milesConversion) % feet);
int inchesConversion = (int) (feetConversion % inches);
System.out.print(meters + " meter(s) converts to "
+ milesConversion +" mile(s), " + feetConversion + " feet, "
+ inchesConversion + " inch(es)");
}
}
试试这个:
import java.util.Scanner;
public class MeterConversion {
public static void main(String[] args) {
int meters;
System.out.print("Enter meters: ");
Scanner userInput = new Scanner (System.in);
meters = userInput.nextInt();
double inches = (39.370078 * meters);
int miles = (int) (inches / 63360);
int feet = (int) (inches - miles * 63360) / 12;
double inchesRemaining = inches - (miles*63360 + feet*12);
System.out.print(meters + " meter(s) converts to "
+ miles +" mile(s), " + feet + " feet, "
+ inchesRemaining + " inch(es)");
}
}
我这样写是为了更容易理解从一个单位到另一个单位的转换。希望有帮助。查找整数除法。请提供一个输入示例和output@HovercraftFullOfEels整数除法不就是这里的重点吗,OP想要转换成整英里,剩余的单位是英尺和英寸吗?我认为用整数除法从英尺到整英里是合适的。我怀疑问题是更深层次的,*转换变量和试图计算出剩余的脚。太好了,非常感谢!我的印象是模运算是关键,但它比我想象的要简单得多。^^@CrystalData了解有关使用模数进行浮点/双重检查的更多信息。一点谷歌搜索也会对你有很大帮助。我不明白为什么有人会投反对票,这正是我想要的答案但无论如何,谢谢你的帮助!现在它是一个净零,哈哈