我们先来看一个简单的例子:利用Scanner接收用户输入的数字,代码如下所示:
package cn.com; import java.util.Scanner; /** * 原创作者:谷哥的小弟 * 博客地址:http://blog.csdn.net/lfdfhl */ public class Test { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); int integer = scanner.nextInt(); if(integer>0) { System.out.println("您输入的是正数"); }else if(integer<0) { System.out.println("您输入的是负数"); }else{ System.out.println("您输入的数字是0"); } } } 如果用户输入9再回车那么显示:您输入的是正数如果用户输入-2再回车那么显示:您输入的是负数
如果用户输入0再回车那么显示:您输入的数字是0
当然,用户可能误输入其他非数字的内容,这又该怎么办呢?我们在刚才的基础上继续完善:
package cn.com; import java.util.Scanner; /** * 原创作者:谷哥的小弟 * 博客地址:http://blog.csdn.net/lfdfhl */ public class Test { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String message = scanner.next(); boolean isNum = isNumeric(message); if (isNum) { int integer = Integer.valueOf(message); if (integer > 0) { System.out.println("您输入的是正数"); } else if (integer < 0) { System.out.println("您输入的是负数"); } else { System.out.println("您输入的数字是0"); } } else { System.out.println("您输入的不是数字"); } } // 判断字符串是否是数字 public static boolean isNumeric(String str) { for (int i = 0; i < str.length(); i++) { if (!Character.isDigit(str.charAt(i))) { return false; } } return true; } }
思路很简单:
1 利用scanner.next()得到用户的输入内容
2 判断输入的内容是否是数字
3 根据输入的内容输出不同的结果