java中使用Integer整数类来进行转换,如果没有异常,则是整数,如下例子:
/**
* 从键盘 得到 一个整数
* @return
*/
public static int getIntFromKeyboard() {
int num = 0;
Scanner input = new Scanner(System.in);
System.out.println("请输入一个整数:");
try {
num = input.nextInt();
} catch (Exception e) {
System.out.println("您所输入的数不是整数!");
return getIntFromKeyboard();
}
return num;
}
用异常输入错误还会继续执行;写一个判断输入的方法
//判断输入是否为整型
public int jude() {
int id=0;
do {
flag=false;
if (sc.hasNextInt()) {
id = sc.nextInt();
} else {
flag=true;
System.out.println("您输入的格式有误!请重新输入!");
sc.next();
}
} while (flag);
return id;
}
根据输入的字符判断是否在对应的ascii内
package com.lili.test;
import java.util.Scanner;
/**
* 最简单的两数运算,没有异常。
* @author: lili
* @date : Nov 2, 2009 7:33:42 PM
*/
public class SimpleCalculator {
private static String operators = "+-*/";
public static void main(String[] args) throws Exception {
System.out.println("**********************************************************************");
int a = SimpleCalculator.getIntFromKeyboard();
int b = SimpleCalculator.getIntFromKeyboard();
String operator = SimpleCalculator.getOperatorFromKeyboard();
int c=SimpleCalculator.Compute(a, b, operator);
System.out.println("**********************************************************************");
System.out.println(""+a+operator+b+"="+c);
}
/**
* 从键盘 得到 一个整数
* @return
*/
public static int getIntFromKeyboard() {
int num = 0;
Scanner input = new Scanner(System.in);
System.out.println("请输入一个整数:");
try {
num = input.nextInt();
} catch (Exception e) {
System.out.println("您所输入的数不是整数!");
return getIntFromKeyboard();
}
return num;
}
/**
* 从键盘 得到 一个运算符
* @return
*/
public static String getOperatorFromKeyboard() {
String operator = "";
Scanner input = new Scanner(System.in);
System.out.println("请输入符号,包括加+,减-,乘*,除/:");
try {
operator = input.next();
if (operator != null && operator != "") {
if (SimpleCalculator.operators.contains(operator)) {
return operator;
} else {
System.out.println("您所输入的不是有效运算符 或 没有注册这个运算符号!");
return getOperatorFromKeyboard();
}
} else {
System.out.println("您所输入的不是有效运算符 或 没有注册这个运算符号!");
return getOperatorFromKeyboard();
}
} catch (Exception e) {
System.out.println("您所输入的不是有效运算符 或 没有注册这个运算符号!");
return getOperatorFromKeyboard();
}
}
/**
* 运算处理中心
*
* @param a
* @param b
* @param operator
* @return
* @throws Exception
*/
public static int Compute(int a, int b, String operator) throws Exception {
int c = 0;
if (!SimpleCalculator.operators.contains(operator)) {
throw new Exception("您所输入的不是有效运算符!");
}
if ("+".equals(operator)) {
c = a + b;
} else if ("-".equals(operator)) {
c = a - b;
} else if ("*".equals(operator)) {
c = a * b;
} else if ("/".equals(operator)) {
c = a / b;
}
return c;
}
}
用hasNextInt()函数。
import java.util.Scanner;
public class test1 {
public static void main(String args[]){
Scanner input = new Scanner(System.in);
if(input.hasNextInt()){
int a = input.nextInt();
}
else{
System.err.println("error");
}
}
}