(JavaIO编程案例)数字大小比较

数字大小比较

编写java程序,输入3个整数,并求出3个整数的最大值和最小值。

如果要想进行数字的输入处理,那么应该保证输入错误的时候可以重新输入,为了可以达到重用的一个设计应该准备一个单独的输入数据类。

  1. 定义一个输入工具类
    package com.io.demo.util;
    
    import java.util.Scanner;
    
    public class InputUtil {
    	
    	private InputUtil() {}
    	
    	/**
    	 * 实现键盘输入数字的操作
    	 * @param prompt 提示信息
    	 * @return 一个可以使用的数字
    	 */
    	public static int getInt(String prompt) {
    		
    		int num = 0;
    		boolean flag = true;
    		while(flag) {
    			Scanner input = new Scanner(System.in); 
    			System.out.print(prompt);	//打印提示信息
    			if(input.hasNext("\\d+")){
    				num = Integer.parseInt(input.next("\\d+"));	//记录数据
    				flag = false;
    			}else{
    				System.out.println("输入的内容不是数据");
    			}
    		}
    		return num;
    		
    	}
    	
    }
    

     

  2. 定义数据的输入处理
    package com.io.demo.service;
    
    public interface INumberSevice {
    	
    	/**
    	 * 输入数据并缺返回输入数据的最大值与最小值
    	 * @param count	输入数据的个数
    	 * @return	包含有两个内容,第一个是最大值,第二个为最小值
    	 */
    	public int[] stat(int count);
    	
    }
    
  3. 定义接口的实现子类

    package com.io.demo.service.impl;
    
    import com.io.demo.service.INumberSevice;
    import com.io.demo.util.InputUtil;
    
    public class NumberServiceImpl implements INumberSevice{
    	
    	@Override
    	public int[] stat(int count) {
    		
    		int[] result = new int[2];	//定义返回的结果
    		int[] data = new int[count];	//开辟一个数组
    		for(int x =0;x < data.length;x++) {	//数字的循环输入
    			data[x] = InputUtil.getInt("请输入第"+ (x+1) +"个数字");
    		}
    		result[0] = data[0];
    		result[1] = data[0];
    		for(int x = 0;x < data.length ;x++) {
    			if(data[x] > result[0]) {
    				result[0] = data[x];
    			}
    			if(data[x] < result[1]) {
    				result[1] = data[x];
    			}
    		}
    		return result;
    
    	}
    	
    }
    

     

  4. 定义工厂类获取对象

    package com.io.demo.factory;
    
    import com.io.demo.service.INumberSevice;
    import com.io.demo.service.impl.NumberServiceImpl;
    
    public class Factory {
    	
    	private Factory() {}	//私有化构造
    	
    	public static INumberSevice getInstance() {
    		
    		return new NumberServiceImpl();
    		
    	}
    	
    }
    

     

  5. 编写测试程序类

    package com.io.demo;
    
    import com.io.demo.factory.Factory;
    import com.io.demo.service.INumberSevice;
    
    public class IOCaseDemo {
    	
    	public static void main(String[] args) {
    		
    		INumberSevice numberService = Factory.getInstance();
    		int[] result = numberService.stat(3);
    		System.out.println("最大值:"+result[0]+"\n最小值:"+result[1]);
    		
    	}
    	
    }
    
    

     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值