开发者学堂课程【Java 高级编程:数字大小比较】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/20/detail/349
数字大小比较
编写 Java 程序,输入 3 个整数,并求出 3 个整数的最大值和最小值。
如果要想进行数字的输入处理,那么应该保证输入错误的时候可以重新输入,为了可以达到重新使用的设计,应该准备一个单独的输入数据类。
1、定义一个输入工具类
打开如图,新建一个程序类:
package cn.mldn.demo.util;
import java.util.Scanner;
public class Inpututil {
private Inpututil(){}
private static final
/**
*实现键盘接收数字的操作
*@param prompt 提示信息
*@return 一个可以使用的数字
package cn.mldn.demo.util;
import java.util.Scanner;
public class Inpututil {
private Inpututil(){}
private static final
/**
*实现键盘接收数字的操作
*@param prompt 提示信息
*@return 一个可以使用的数字
/*
public static int getInt(string.Prompt){
I int num =
θ
;
BufferedReader buf = new BUfferedReader(new InputstreamReader(system.in));
boolean flag = true ;
while (flag){
Scanner input = new Scanner(System.in) ;
System.out.print(prompt);//打印提示信息
string str = null;
try { str = buf.readLine();
if (str.matches("\ld+")){
num = Integer.parseInt(str);
flag = false ; }
else
System.out.println("输入的内容不是数字!");
}
}catch (IOException e){
System.out.println("输入的内容不是数字!");
return num
2、定义数据的输入处理
输入以下代码
package cnmldn.demo.service;
public interface INumberService
/**
*输入数据并且返回输入数据的最大值与最小值
*@param count 表示要输入数据的个数
*@return 包含有两个内容,第一个是最大值,第二个是最小值
*/
public int[] stat(int count);
3、定义接口的实现子类
输入代码
package .cn.mldn.demo.service.impl;
import cn.mldn.demo.service.INumberService;{
import cn.mldn.demo.util.Inpututil;
public class NumberServiceImpl implements INumberService {
@Override
public int[] stat(int count) {
int result []= new int[2];//定义返回的结果
int data []= new int [count」;//开辟一个数组
for (int x= ∅ ;x< data.length ;x ++){// 数字的循环输入
data[x]= Inpututil.getInt("清输入第**+”(×奇 1)+*个数字。”);
}
result[θ]= data[θ]; //最大值
result[θ]= data[θ]; //最小值
for (int x = θ ;x < data.length ;x ++){
if (data[x]> result[eθ]){
result[θ]= data[x];
}
if (data[x]< result[1]){
result[1]= data[x」;
}
}
return result ;
4、定义工厂类获取接口对象
输入以下代码:
import cn.mldn.demo.service.INumberService;
import cn.mldn.demo.service.impl.NumbenServiceImpl;
public class Factory {
private Factory(){}
public static INumberService getInstance(){
return new NumberServiceImpl();
}
5.编写测试程序类
package cn.mldn.demo;
import cn.mldn.demo.factory.Factory;
import cn.mldn.demo.service.INumberService;
public class IOCaseDemo {
public static void main(String[] args){
INumberService numberService = Factory.getInstance();
int result []= numberService.stat(5);
System.out.print1n("最大值。”+ result[e]+"、最小值。”+ result[1]);
执行代码得