我想判断输入的类型是否是Int类型,如果不是提示重新输入具体代码如下:
import java.util.*;
public class testOne {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入要输入的人数:");
//int renShu = input.nextInt();
int renShu=0;
//renShu = input.nextInt(); 如何能实现输入的不是数字类型提示输入错误请重新输入?
//也就是如何能判断自己输入的类型,不满足所要求输入的条件时,进行报错并提示重新输入
if(!input.hasNextInt()) {
System.out.println("输入错误请重新输入:");
renShu = input.nextInt();
}
int age[] = new int[renShu];
String[] name = new String[renShu];
for (int i=0;i<age.length;i++) {
System.out.print("请输入第" +(i+1) + "位客人的姓名");
name[i] = input.next();
System.out.print("请输入第" +(i+1) +"位客人的年龄");
age[i] = input.nextInt();
}
}
}
import java.util.*;
public class testOne {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入要输入的人数:");
//int renShu = input.nextInt();
int renShu=0;
//renShu = input.nextInt(); 如何能实现输入的不是数字类型提示输入错误请重新输入?
//也就是如何能判断自己输入的类型,不满足所要求输入的条件时,进行报错并提示重新输入
if(!input.hasNextInt()) {
System.out.println("输入错误请重新输入:");
renShu = input.nextInt();
}
int age[] = new int[renShu];
String[] name = new String[renShu];
for (int i=0;i<age.length;i++) {
System.out.print("请输入第" +(i+1) + "位客人的姓名");
name[i] = input.next();
System.out.print("请输入第" +(i+1) +"位客人的年龄");
age[i] = input.nextInt();
}
}
}
解决方案 »
- 怎么去除dwr中烦人的log
- 图形 轮廓 边长计算
- java做聊天服务器效率问题
- 如何设置系统,运行窗口才不会自动关闭?
- 如何能使点击一个桌面图标,打开一个文件呢?大哥大姐们教教我!
- 一个关于继承的问题 大家来看看 谢谢
- applet播放音频出现的java.lang.OutOfMemoryError
- 怎么样才能让某个程序过10秒种就执行一次
- Java解析.dat二进制文件
- 关于关闭窗口,立即给分!!
- com.ibatis.common.resources.getResourceAsReader读取配置的机制是怎么样子的
- JAVA 字符与整数进行随机公式计算问题(因为JAVA无法重载字符,特来请问高手)
boolean flag = pattern.matcher("9").matches();
if(flag){
// 整形
System.out.println(flag);
}else{
// 字符串
System.out.println(flag);
}
public static void main (String[] args){ String in="ww";
System.out.println(isInteger(in));
}
public static boolean isInteger(String s){
boolean ko=true;
if(s==null||s.equals(""))
return false;
else{
for(int i=0;i<s.length()&&ko;i++){
if(s.charAt(i)>'9'||s.charAt(i)<'0')
ko=false;
}
return ko;
} }
}
import java.util.*;public class testOne {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
// int renShu = input.nextInt();
int renShu = 0;
// renShu = input.nextInt(); 如何能实现输入的不是数字类型提示输入错误请重新输入?
// 也就是如何能判断自己输入的类型,不满足所要求输入的条件时,进行报错并提示重新输入
while (true) {
try {
System.out.print("请输入要输入的人数:");
renShu = Integer.valueOf(input.nextLine());
break;
} catch (Exception e) {
System.out.println("输入错误请重新输入。");
}
}
int age[] = new int[renShu];
String[] name = new String[renShu]; for (int i = 0; i < age.length; i++) {
System.out.print("请输入第" + (i + 1) + "位客人的姓名");
name[i] = input.nextLine();
while (true) {
try {
System.out.print("请输入第" + (i + 1) + "位客人的年龄");
age[i] = Integer.valueOf(input.nextLine());
break;
} catch (Exception e) {
System.out.println("年龄输入错误请重新输入。");
}
}
}
System.out.println("Successfully completed....");
}
}
其中 renShu = Integer.valueOf(input.nextLine()); //这句话是什么意思?Integer.valueOf
还有catch (Exception e) { } //这个catch和后面的(Exception e )是什么意思?
}catch (Exception e){}这条语句是什么意思?
if ((s != null) && (s != ""))
return s.matches("^[0-9]*$");
else
return false;
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int renShu = 0;
while (true) {
System.out.print("请输入要输入的人数:");
String inputStr = input.nextLine();
if (isNumeric(inputStr)) {
renShu = Integer.valueOf(inputStr);
break;
} else {
System.out.println("输入错误请重新输入。");
}
}
int age[] = new int[renShu];
String[] name = new String[renShu]; for (int i = 0; i < age.length; i++) {
System.out.print("请输入第" + (i + 1) + "位客人的姓名");
name[i] = input.nextLine();
}
System.out.println("Successfully completed....");
}
}
if ((s != null) && (s != ""))
return s.matches("^[0-9]*$");
else
return false;
} public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int renShu = 0;
while (true) {
System.out.print("请输入要输入的人数:");
String inputStr = input.nextLine();
if (isNumeric(inputStr)) {
renShu = Integer.valueOf(inputStr);
break;
} else {
System.out.println("输入错误请重新输入。");
}
}
int age[] = new int[renShu];
String[] name = new String[renShu]; for (int i = 0; i < age.length; i++) {
System.out.print("请输入第" + (i + 1) + "位客人的姓名");
name[i] = input.nextLine();
while (true) {
System.out.print("请输入第" + (i + 1) + "位客人的年龄");
String inputStr = input.nextLine();
if (isNumeric(inputStr)) {
age[i] = Integer.valueOf(inputStr);
break;
} else {
System.out.println("年龄输入错误请重新输入。");
}
}
}
System.out.println("Successfully completed....");
}
}
是啊,LZ还没懂java的异常机制呢