今天写代码的时候突然想到要怎么来判断整数,然后通过判断是否是整数来处理相关的操作。
开始想到了几个方法,比如百度到的 x(int) instanceof Integer,但是这样的话程序会报错,还有一个问题就是我开始的时候把Scanner输入时直接输入的整数,这样的话还没到判断就直接运行异常,显然是不对的。好了,废话不多说,直接上代码:
package com.java;
import java.util.Scanner;
/**
* 实现一个数字加密器,加密规则是: 加密结果 = (整数*10+5)/2 + 3.14159 加密结果仍为一整数
*
* @author TDing
*/
public class DigitalDevice {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println("请输入一个整数:");
String num = s.next();
boolean results=num.matches("[0-9]+$");
//这里用到了匹配的方法,就是判断你输入的数字是不是只包含 0-9 这几个数字,如果还有其他的则执行else里面的代码
if (results) {
int nums = Integer.parseInt(num);
int result = (int) ((nums * 10 + 5) / 2 + 3.14159);
System.out.println(result);
} else {
System.out.println("您输入的数字有误!");
}
}
}
注:这里我输入的时候使用的String,判断的时候再转为int型,这样就可以避免输入时出错了。