java输入数字存入数组(带字符检测)

8.20更新:

这一次看到了hasNextInt,那么输入方式就可以进行改变了

做一个循环判断,对就输入错就重新来,根本不需要对字符进行检测 ORZ...

if (scan.hasNextInt()) {

            int num = scan.nextInt();

            System.out.println("输入的数据为:" + num);

        }

hasNextInt()返回值是true和false,用于if判断即可


 

这一次是上次字符检测是否全为数字的增强版。

欢迎各位朋友或大神指出不足之处。

package com.hw.h817;

import java.util.Scanner;

public class Check {
    public static void main(String[] args){
        Scanner s = new Scanner(System.in);
        //把pre和str在外面定义,如果在循环中定义会出错
        String[] two = new String[6];
        String pre;
        int[] str = new int[6];
        int count = 0;//用于退出循环
        
        while(true){
            System.out.println("请依次输入6个数");
            count = 0;//如果输入字符不是数字时,从if中出来,重新计数
            for(int i=0;i<6;i++){
                pre = s.next();//接收字符串
                if (!(pre.matches("\\d+"))) {//非(pre全为数字)
                    System.out.println("输入的" + pre + "不是数字,请重新输入");
                    break;//这个退出的是for循环,退出后会再次执行while循环,重新输入数字
                }
                else {
                    str[i] = Integer.parseInt(pre);//把数字型字符串转换为int型数字
                }
                count++;//每执行一次数据输入后,count才会+1
            }
            if(count==6) break;//这个退出的是while循环
        }
        for(int i=0;i<6;i++){//输出打印数字
            if(i==0){
                System.out.print(str[i]);
            }
            else{
                System.out.print(","+str[i]);
            }
        }
    }
}

 

posted on 2018-08-17 20:02  谭二皮  阅读(669)  评论(0编辑  收藏  举报

导航