使用Java输入/输出进行计算-小数
我正在尝试创建一个计算器,通过从用户那里获取输入来计算十进制数。我正在尝试将这两个值相加。我的代码如下:使用Java输入/输出进行计算-小数,java,java-io,Java,Java Io,我正在尝试创建一个计算器,通过从用户那里获取输入来计算十进制数。我正在尝试将这两个值相加。我的代码如下: import java.io.*; public class calc{ public static void main(String[] args)throws Exception{ System.out.println("Input 1st no"); InputStreamReader reader = new InputStreamReader
import java.io.*;
public class calc{
public static void main(String[] args)throws Exception{
System.out.println("Input 1st no");
InputStreamReader reader = new InputStreamReader(System.in);
BufferedReader p=new BufferedReader(reader);
String k = p.readLine();
float a= (float) k;
System.out.println("Enter 2nd no");
InputStreamReader read = new InputStreamReader(System.in);
BufferedReader l = new BufferedReader(read);
String z = l.readLine();
float b = (float) z;
float res = (b+a);
System.out.println("Final result is: " +res);
}
}
那么,该怎么解决这个问题呢?我试过编译,但运气不好。它给出了错误“不兼容类型”,我知道它是不兼容的,但我认为没有其他方法可以检测十进制数 你走得太远了
这应该做到:
float a = Float.valueOf(k);
及
如果我可以提供一些提示,首先,将您的类命名为Calc
,而不是Calc
:)
请考虑使用<代码>双<代码> >代码>浮点(由于精度问题)。< /P> 并使用更具意义(更长)的变量名(google
camel case
)
玩得开心 你走得太远了
这应该做到:
float a = Float.valueOf(k);
及
如果我可以提供一些提示,首先,将您的类命名为Calc
,而不是Calc
:)
请考虑使用<代码>双<代码> >代码>浮点(由于精度问题)。< /P> 并使用更具意义(更长)的变量名(google
camel case
)
玩得开心 方法readLine()
返回String
。您不能直接将String
强制转换为float
。
您可以执行Float f=Float.valueOf(k)
方法readLine()
返回String
。您不能直接将String
强制转换为float
。
你可以做
Float f=Float.valueOf(k)
你不能简单地做Float a=(Float)k代码>从String
转换为float
您应该调用Float.parseFloat(k)
请注意,如果字符串不包含可解析的浮点值,则此函数可能引发NumberFormatException
。您不能简单地执行浮点值a=(float)k代码>从String
转换为float
您应该调用Float.parseFloat(k)
请注意,如果字符串不包含可解析的浮点值,则此函数可能引发NumberFormatException
。不能像这样强制转换类型:
String z = l.readLine();
float b = (float) z;
要将字符串转换为浮点值,请使用
Float b = Float.parseFloat(z);
不能像这样强制转换类型:
String z = l.readLine();
float b = (float) z;
要将字符串转换为浮点值,请使用
Float b = Float.parseFloat(z);
按照惯例,这个类应该以大写字母开头;您还应该发布编译器输出,以便我们更容易地看到哪一行失败;您还应该发布编译器输出,以便我们更容易地看到哪一行失败。