返回列表 回复 发帖

java数学函数问题

sin怎么用啊,哪里错了,哥哥们帮我看看

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class n {
        public static void main(String[]args)throws IOException{
                BufferedReader reader=new BufferedReader(new
                                InputStreamReader(System.in));
                System.out.println("F=R sin a");
                System.out.println("输入R:");
                int R=Integer.parseInt(reader.readLine());
                System.out.println("输入a:");
                int a=Integer.parseInt(reader.readLine());
                double sina= Math.sin(a);
                double jieguo=R*sina;
                System.out.println("F="+jieguo);
        }
}
把错误信息顺便发一下。这样可以更快找到问题。
这是错误信息:
Exception in thread "main" java.lang.NumberFormatException: For input string: "22.5"
        at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
        at java.lang.Integer.parseInt(Integer.java:492)
        at java.lang.Integer.parseInt(Integer.java:527)
        at n.main(n.java:12)
这是错误信息:
Exception in thread "main" java.lang.NumberFormatException: For input string: "22.5"
        at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
        at java.lang.I ...
毛利小五郎 发表于 2010-10-12 10:38
程序本身没问题,是因为你输入的22.5这个数字无法转换成一个整数。处理的方法有几个
0: 输入的时候要小心。。。不要使用小数这种无法转换成整数的值
1:使用Double.valueOf(str), 然后可以使用double变量计算,或者强制转换为int
2:当你学到异常那一章之后,可以使用异常捕获来处理用户错误的输入
返回列表