使用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);

按照惯例,这个类应该以大写字母开头;您还应该发布编译器输出,以便我们更容易地看到哪一行失败;您还应该发布编译器输出,以便我们更容易地看到哪一行失败。