完成我的Java任务,我创建了一个名为Triangle的类。这有3个变量,side1,side2和side3。我的构造函数方法接受3个浮点值,并依次将它们分配给每个变量。
我的问题是,如果用户输入(10,11.1,12.2)那些被视为(int,double,double)而不是我需要的浮点数(赋值表示3个边必须是浮点值)。 / p>
那么如何在输入时将每个输入转换为浮点数,无论它是整数还是双数?
谢谢,
杰克。
答案 0 :(得分:3)
您通常会以适当的类型读取数据 - 例如Scanner.nextFloat。这将作为浮点数读为“10”(或“11.1”)。对编译器来说,唯一重要的是类型签名。
答案 1 :(得分:2)
使您的变量/参数类型为Number
。数字可以很容易地转换为任何其他数字基元类型。
Number n1 = (int)1;
Number n2 = (double)123.456;
Float f1 = n1.floatValue();
Float f2 = n2.floatValue();
答案 2 :(得分:1)
我假设您正在使用导致问题的文字?在他们之后贴上“f”将使他们漂浮。否则,它完全取决于您的用户界面以及您获取值的方式。
答案 3 :(得分:1)
如果您接受用户输入,那么您几乎肯定会在用户级别处理字符串。如果是这种情况,那么您可以使用Float.valueOf(String)
来获取字符串的浮点表示。
对于这种事情,你会在Java的大多数(如果不是全部)数字类型中找到valueOf(String)
静态方法。