首页 新闻 会员 周边

[java]如何在以下代码中添加判断是否为数字(关键字搜索://如何在此处添加输入的为数字??)

0
[已解决问题] 解决于 2016-09-26 13:35

package com.java.demo_2;

import java.util.Arrays;
import java.util.Scanner;

public class numbers {
    /**
     * 输入10个数字,用数组接收这10个数字,并求出所有正数的和; 当用户输入非数字时退出; 数字由控制台输入
     */
    public static void main(String[] args) {
        String result = ""; 
        int sum = 0 ;       


        int[] numbers = new int[10];
        Scanner input = new Scanner(System.in);

        for (int i = 1; i <= 10; i++) {
            System.out.print("请输入第" + i + "个数:");

    //如何在此处添加输入的为数字??


            numbers[i - 1] = input.nextInt();
            if (numbers[i - 1] >= 0) {
                result += numbers[i - 1] + ", ";
                sum += numbers[i - 1];
                
            }
        }

        System.out.println();
        System.out.println("************************");
        System.out.println("查看数组中的值:");
        System.out.println(Arrays.toString(numbers));
        System.out.println("************************");
        System.out.println("[正数是:]" + result);
        System.out.println("[正数和为:]" + sum);

    }

}

秋天中的一片叶的主页 秋天中的一片叶 | 菜鸟二级 | 园豆:202
提问于:2016-09-23 14:56
< >
分享
最佳答案
0

num.matches("\\d+")

奖励园豆:5
laugher_ccc | 小虾三级 |园豆:593 | 2016-09-23 15:04

新手不好意思没看明白请解释一下。谢谢

秋天中的一片叶 | 园豆:202 (菜鸟二级) | 2016-09-23 15:28

@天马流行拳: 就是用正则判断

laugher_ccc | 园豆:593 (小虾三级) | 2016-09-23 16:54

@天马流行拳: 

for (int i = 1; i <= 10; i++) {
            System.out.print("请输入第" + i + "个数:");
            String num = input.next();
            if(!num.matches("\\d+")){
                System.out.println("输入的不是数字");
            }else{
                numbers[i - 1] = Integer.parseInt(num);
            }
            
            
            if (numbers[i - 1] >= 0) {
                result += numbers[i - 1] + ", ";
                sum += numbers[i - 1];
                
            }
        }

中间这段改成这样,其它逻辑自己修改

laugher_ccc | 园豆:593 (小虾三级) | 2016-09-23 17:00

@laugher_ccc: 好的,谢谢你。

秋天中的一片叶 | 园豆:202 (菜鸟二级) | 2016-09-26 10:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册