首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

java中的判断数字的有关问题

2011-12-08 
java中的判断数字的问题我是java初学者,遇到一个问题:在下面程序中,当用户输入num1和num2时,如果用户输入

java中的判断数字的问题
我是java初学者,遇到一个问题:在下面程序中,当用户输入num1和num2时,如果用户输入错误,例如输入字母【k】,就会报错,这应该怎么判断啊?请高手教教我,谢谢!
import java.util.Scanner;

public class FloatNumber {
public static void main(String[] args) {
double num1, num2;
Scanner scan = new Scanner(System.in);

System.out.print("Enter the num1 and num2: ");
num1 = scan.nextDouble();
num2 = scan.nextDouble();

System.out.println("The " + num1 + " and the " + num2 + " sum is "
+ (num1 + num2));
if (num1 >= num2) {
System.out.println("The " + num1 + " and the " + num2
+ " differ is " + (num1 - num2));
} else {
System.out.println("The " + num1 + " and the " + num2
+ " differ is " + (num2 - num1));
}
System.out.println("The " + num1 + " and the " + num2 + " multiply is "
+ num1 * num2);
}

}

[解决办法]
try catch
[解决办法]
hasNextDouble() 

[解决办法]
正则表达式

String str = "48979835"; //你输入的字符
String reg = "[0-9]*"; //正则表达式

str.matches(reg)); //这句就是匹配,判断它
[解决办法]
num1 = scan.nextDouble();
num2 = scan.nextDouble(); 这个是接受所输入的字符的 用nextDouble() 当然不能接受 英文字母啦
[解决办法]

探讨
正则表达式

String str = "48979835"; //你输入的字符
String reg = "[0-9]*"; //正则表达式

str.matches(reg)); //这句就是匹配,判断它

[解决办法]
我的建议是你不用nextdouble,用字符串的形式取出来。再判断
[解决办法]
用正则表达式!!!!!
[解决办法]
Java code
    public static void main(String[] args) {        Scanner scan = new Scanner(System.in);        double num1, num2;        try {            num1 = scan.nextDouble();            num2 = scan.nextDouble();            System.out.println(num1 + " " + num2);        } catch (InputMismatchException e) {            // e.printStackTrace();            // DO WHATEVER YOU WANNA DO            // IF ERROR HAPPENS            System.out.println("Input Error!");        }    }
[解决办法]
你的代码本来就会报错的!!!!!!
想更详细一点,就加上try catch,打印出错信息,比如"请输入纯数字"之类的.

热点排行