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

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

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

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]);
            }
        }
    }
}

原文地址:https://www.cnblogs.com/bkytep/p/9495093.html

时间: 2024-10-08 08:50:56

java输入数字存入数组(带字符检测)的相关文章

c语言输入一行未知个数数字存入数组

一直有个疑问输入一行数字存入数组时若不知道数字的个数怎么办,最容易想到的办法就是接收字符然后转化为数字,但这样太过麻烦. 今天上网查了下,说可以用ungetc()函数将字符送回输入流,在这里总结归纳一下 此外还意外的解决了另外一些以前遇到的问题,也是在调试代码时发现的,用此段代码可以用除了空格以外的字符作为分隔符,而且分隔符的长度也可以很长:如输入12qwertyuiop34asdfghjkl123,23zxc45  最后得到的数组为:a[0]=12,a[1]=34,a[2]=123,a[3]=

JAVA输入/输出流(字节流、字符流、缓冲流)

JAVA输入/输出流 前期知识准备 1.基本java语法 基本原理: 程序在运行期间,可能需要从外部的存储媒介或其他程序中读入所需要的数据,这就需要使用输入流对象.输入流的指向称作它的源,程序从指向源的输入流中读取源中数据.另一方面,程序在处理数据后,可能需要将处理结果写入到永久的存储媒介中或传给其他应用程序,这就需要使用输出流对象.输出流的指向称作它的目的地,程序通过向输出流中写入数据把数据传送到目的地. (本博文只给出文件字节流,文件字符流,缓冲流实例) 文件字节流: FileInputSt

winform中如何在TextBox中只能输入数字(可以带小数点)

可以采用像web表单验证的方式,利用textbox的TextChanged事件,每当textbox内容变化时,调用正则表达式的方法验证,用一个label在text后面提示输入错误,具体代码如下: private void textBox1_TextChanged(object sender, EventArgs e) { if (textBox1.Text.Trim() != "") { if (!Validate(textBox1.Text.Trim(), @"^(-?\d

把数字存入数组,并逆序输出

void main() { int i=0,k; char c[10]; while(n) { c[i]=n%10+'0'; //把数字变成字符,因为这是一个char数组 n/=10; i++; } s[i--]='\0'; k=i; while(i>=0) { s[i]=c[k--]; //先让s[i]变为'\0'再令 i-1 i--; //把  k-i  变成  i   则变成逆序输出 }} 原文地址:https://www.cnblogs.com/P-juan/p/10057833.htm

wpf 限制textbox只能输入数字及特殊键

原文:wpf 限制textbox只能输入数字及特殊键 使用vs2015进行wpf设计时,发现限制输入数字时,Keydown事件无法检测到空格的输入,后经过查资料调试,发现PreviewKeyDown可以满足检测输入所有值合法性的要求,我的textbox输入框中只允许输入(大小键盘中)的数字0-9,以及删除回车,左右方向键,tab键,删除键,下面代码为限制 private void MinSpaceTextBox_PreviewKeyDown(object sender, KeyEventArgs

java例题_24 逆向输入数字

1 /*24 [程序 24 根据输入求输出] 2 题目:给一个不多于 5 位的正整数,要求:一.求它是几位数,二.逆序打印出各位数字. 3 */ 4 5 /*分析 6 * 首先从键盘得到一个正整数,不超过5位数用int; 7 * 用%和/将每个数字分离后存入数组,位数就是数组的角标+1,用for循环正向输出数组 8 * 分离时用while判断是否分离完成 9 * */ 10 11 package homework; 12 13 import java.util.InputMismatchExce

剑指Offer面试题29(java版):数组中出现次数超过一半的数字

题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现5次,超过数组长度的一半,因此输出2. 解法一:基于Partition函数的O(n)算法: 我们的算法是受快速排序的算法的启发.在随机快速排序的算法中,我们先在数组中随机的选择一个数字,然后调数组中数字的顺序,使得比选中的数字小数字排在它的左边,比选中的数字大的数字都排在它的右边.比如这个选中的数字的下标刚好是n/2,那么这个数字就是数组中的

JS常用正则表达式和JS控制输入框输入限制(数字、汉字、字符)

验证数字:^[0-9]*$验证n位的数字:^\d{n}$验证至少n位数字:^\d{n,}$验证m-n位的数字:^\d{m,n}$验证零和非零开头的数字:^(0|[1-9][0-9]*)$验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$验证非零的正整数:^\+?[1-9][0-9]*$验证非零的负整数:^\-[1-9][0-9]*$验证非负整数(正整数 + 0) ^\d+$验证非正整数(负整数 + 0) ^((

Java中如何拆分字符串为字符数组

题目:输入一串字符,由(){}[]组成,判断是否所有的括号都是闭括号,是的返回TRUE,不是返回FALSE. /*输入字符串,拆解为字符数组 * 用函数s.charAt(i)来完成 * * */import java.util.*;//import java.lang.*;public class Char { public static void main(String[] args){ String a=new String(); Scanner in=new Scanner(System.