Java怎么判断输入的书是不是整型

2024-11-18 14:46:29
推荐回答(5个)
回答1:

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;
 }

回答2:

用异常输入错误还会继续执行;写一个判断输入的方法
//判断输入是否为整型
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;
}

回答3:

根据输入的字符判断是否在对应的ascii内

回答4:

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;
}

}

回答5:

用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");
}
}
}