import java.util.regex.* //Java使用正表达式必须导入此包
public class test{
private static int count = 0//统计正整数出现的次数
//使用正则表达式判断是否是整数(正数、负数和0)
private static boolean isNumber(String str){
return str.matches("^(0|[1-9][0-9]*|-[1-9][0-9]*)$")
}
//递归实现无限循环
private static void input(){
try { //加try...catch就是为了处理一个数字输入过长产生的异常
System.out.print("请输入一个整数:")
String inputNum = new Scanner(System.in).next()
if (isNumber(inputNum)==false) {//当输入不是整数的时候结束游戏
System.out.println("输入错误,游戏结束!")
}else if(count>2147483647||Integer.parseInt(inputNum)>Integer.MAX_VALUE||Integer.parseInt(inputNum)<Integer.MIN_VALUE){//当数字超过最大允许个数的时候提示
System.out.println("数字个数超出允许范围!")
}else if(Integer.parseInt(inputNum)>0){
count++
input() //递归调用
}else{
System.out.println("正整数有"+count+"个!")
}
} catch (Exception e) {
System.out.println("数字个数超出允许范围!")
}
}
public static void main(String[] args) {
input()
}
}
使用字符串变量。
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
字符串主要用于编程,概念说明、函数解释、用法详述见正文,这里补充一点:字符串在存储上类似 字符数组,所以它每一位的单个元素都是可以提取的,如s=“abcdefghij”,则s[0]=“a”,s[9]="j",而字符串的 零位正是它的长度,如s[0]=10(※上述功能Ansistring没有。),这可以给我们提供很多方便,如高精度运算时每一位都可以转化为数字存入 数组。