刚做了个题 输入整数 然后输出这个数的阶乘。 但不会判断错误。比如输入的是字母或者别的,如何按自己想编的来提示错误信息。
public static void main(String[] args)
{
System.out.print("请输出(整数):"); //输入的如果不是整数 如何输出自己想提示的错误信息
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
int result = 1;
for(int i = 1;i<=num;i++)
{
result *= i;
}
System.out.println(num+"!="+result);
} 作者: 神之梦 时间: 2013-9-18 18:56
用正则作者: loading……99.9 时间: 2013-9-18 19:07
你可以先用一个String接受输入的一串字符串,在用正则表达式判断这个字符串是否全为数字,然后再把字符串转换为一个int型的数据。代码如下:
public static void main(String[] args)
{
System.out.print("请输出(整数):");
Scanner scanner = new Scanner(System.in);
String str = scanner.next();
if (str.matches("\\d+"))
{
int num = Integer.parseInt(str);
int result = 1;
for (int i = 1; i <= num; i++)
{
result *= i;
}
System.out.println(num + "!=" + result);
}
}
复制代码
作者: 酱爆 时间: 2013-9-18 19:09
public static void main(String[] args)
{
boolean flag = true;
//while循环用于当用户输入数据异常时,可以让用户重新输入
while (flag)
{
try
{
int len = 0; // 用来确定数组的长度
System.out.println("请输入数组的长度(整数):");
Scanner input = new Scanner(System.in);
len = input.nextInt(); //从控制台接收数组长度
double[] arr = new double[len];
// 用循环来接收数组的每个数据
for (int i = 0; i < arr.length; ++i)
{
System.out.println("请输入第" + (i+1) + "个数");
arr[i] = input.nextDouble();
}