51Testing软件测试论坛

标题: 在排序前增加一块判断逻辑,传入值不为空并且是数字时进入到排序逻辑,是数字这个... [打印本页]

作者: 、猪小戒    时间: 2019-1-15 10:02
标题: 在排序前增加一块判断逻辑,传入值不为空并且是数字时进入到排序逻辑,是数字这个...
package Test2;
import java.util.*;
import java.lang.*;
public class Order {
   
    public static void main(String[] args) {
        System.out.print("请输入数字,用空格分开");
        while(true){
        Scanner input =new Scanner(System.in);
        String in1=input.nextLine();
        if(in1.equals(" ")){
            System.out.print("输入错误:请重新输入");
            input.nextLine();
            continue;
        }
        /*if(!in1.equals(" ")){*/
        String[] s=in1.split(" ");
        int a[]=new int[s.length];
        for(int i=0;i<s.length;i++){
            try{
            a=Integer.parseInt(s);
            }catch(NumberFormatException e){
                System.out.print("NOT NUMBER");
            }
        }
        //此处添加判断:传入值不为空并且是数字进入到排序逻辑,是数字这个该怎么判断?
        for(int j=0;j<a.length-1;j++){
            for(int t=0;t<a.length-j-1;t++){
                if(a[t]>a[t+1]){
                    int c= a[t];
                    a[t]=a[t+1];
                    a[t+1]=c;
                }
            }
        }
        
        System.out.print("排序后:");
        for(int i=0;i<a.length;i++){
            System.out.print(a+"\t");
        }
        }
        }
        
    }


在学课程:
零基础学编程JAVA语言直通班
http://www.atstudy.com/course/1006


作者: 学掌门网校    时间: 2019-1-15 13:47
  • 判断控制台输入的是否是数字,可以用 X.hasNextInt()方法,此方法专门用于接受控制台输入的数字
    以下为一个简单的例子
    Scanner input=new Scanner(System.in);
    String num;
    if(input.hasNextInt()){
         num=input.next();
         System.out.println("是数字");
         }
    else{
         System.out.println("input error");
    }
    关于更多Scanner类的方法,可以参考JAVA API 文档
    https://docs.oracle.com/javase/8/docs/api/java/util/Scanner.html











欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2