1.些一段代码,要求输入正整数,在输入的时候要对输入的数字,
进行判断(是正整数执行程序,不是正整数重新输入)。
程序中要求对输入的数字加一后输出。
比如:输入1,                                             输出2
             输入:2                                          输出:3
             输入:1.6                                      输出:你输入的不是正整数,请重新输入。
             输入:‘s’或者 “张三”                      输出:你输入的不是数字,请重新输入。

解决方案 »

  1.   


    import java.util.*;public class Test {
    public static void main(String[] args) {

    int k = 0;
    String str = "";
    boolean flag = false;
    Scanner s = new Scanner(System.in);
    while (true) {
    str = s.next();
    for (int i = str.length(); --i >= 0;) {
    if (!Character.isDigit(str.charAt(i))) {
    flag = false;
    } else {
    flag = true;
    } }
    if (flag) {
    k = Integer.parseInt(str); if (k > 0) {
    System.out.print(k + 1);
    } } else {
    System.out.print("你输入的不是数字,请重新输入");
    }
    }
    }}
      

  2.   

    本帖最后由 AWUSOFT 于 2011-12-11 21:02:20 编辑
      

  3.   

    你没学过java吗?和简单的!google,百度多的很!
      

  4.   

    import java.util.Scanner;public class Test { final static String EXIT = "exit";

    public static void main(String[] args) {
    fun();
    } static void fun() {
    Scanner s = new Scanner(System.in);
    String str = null;
    while (true) {
    str = s.next();
    int index = str.length();
    if(str.equals(EXIT))
    return;
    while (index-- > 0) {
    if (!Character.isDigit(str.charAt(index))) {
    System.out.println("你输入的不是正整数,请重新输入");
    break;
    }
    }
    if(index < 0)
    System.out.println(Integer.parseInt(str) + 1);
    }
    }
    }
      

  5.   

    加上了对0的判断和超长字符串的处理import java.math.BigInteger;
    import java.util.Scanner;public class Test { final static String EXIT_MSG = "exit";
    final static String ERROR_MSG = "你输入的不是正整数,请重新输入";
    final static String ADD_NUM = "1";

    public static void main(String[] args) {
    fun();
    } static void fun() {
    Scanner s = new Scanner(System.in);
    String str = null;
    while (true) {
    str = s.next();
    int index = str.length();
    if(str.equals(EXIT_MSG))
    return;
    while (index-- > 0) {
    if (!Character.isDigit(str.charAt(index))) {
    System.out.println(ERROR_MSG);
    break;
    }
    }
    if(index < 0){
    BigInteger num = new BigInteger(str);
    System.out.println(!num.toString().equals("0") ? num.add(new BigInteger(ADD_NUM)).toString(): ERROR_MSG);
    }
    }
    }
    }