/** * 版权所有 2022 涂聚文有限公司 * 许可信息查看: * 描述: 1-100 累加值 但要求跳过所有包含有3的数 * 公用类库 公共所需要用的操作函数或方法 * * 历史版本: JDK 8.01 * 2023-03-12 创建者 geovindu * 2023-03-12 添加 Lambda * 2023-03-12 修改:date * 接口类 * 2023-03-12 修改者:Geovin Du * 生成API帮助文档的指令: *javadoc - -encoding Utf-8 -d apidoc IntegerDigitControl.java * Interface * Record * Annotation * Enum * */ package Geovin.Du.Common; import java.util.LinkedList; /** *整数位数的操作的类 * @author geovindu 涂聚文 * @version 1.0 * */ public class IntegerDigitControl { /** * 判断是否含有数字3 * @param number 输入参数 整数 * @return 返回是否含3的数 */ public boolean isThreeNumber(int number) { boolean isOk=false; if(number<=100&&number>0) { int ge=number%10; int shi=(number%10)/10; int bai=number/100; if(ge==3||shi==3||bai==3) isOk=true; } return isOk; } /** * 判断是否含有指定的数字 * @param number 输入参数 整数 * @param num 指定的数字 * @return */ public boolean isThreeNumber(int number,int num) { boolean isOk=false; if(number<=100&&number>0) { int ge=number%10; int shi=(number%10)/10; int bai=number/100; if(ge==num||shi==num||bai==num) isOk=true; } return isOk; } /** * 获取字符串数组并将其拆分的方法 * @param number 输入参数 整数 * @return */ public boolean isSplitNumber(int number) { boolean isOk=false; if(number<=100&&number>0) { String strNumber = String.valueOf(number); String[] digits = strNumber.split("(?<=.)"); String digit=""; for(int i = 0; i < digits.length; i++) { //System.out.println(digits[i]); digit=digits[i]; if(digit.equals("3")) isOk=true; } } return isOk; } /** * 获取字符串数组并将其拆分的方法 * @param number 输入是1至100的整数 * @param num 指定的数字 之外 * @return */ public boolean isSplitNumber(int number,int num) { boolean isOk=false; String strNum=String.valueOf(num); if(number<=100&&number>0) { String strNumber = String.valueOf(number); String[] digits = strNumber.split("(?<=.)"); String digit=""; for(int i = 0; i < digits.length; i++) { //System.out.println(digits[i]); digit=digits[i]; if(digit.equals(strNum)) isOk=true; } } return isOk; } /** *%(mod)获取给定整数的余数 使用余数方法获得整数的每一个数字 * @param number 输入参数 整数 * @return 返回是否含指定的3数字 */ public boolean isModNumber(int number) { boolean isOk=false; if(number<=100&&number>0) { LinkedList<Integer> stack = new LinkedList<Integer>(); while(number > 0){ stack.push(number % 10); number = number / 10; } while ((!stack.isEmpty())){ String digit=""; //System.out.println(stack.pop()); digit=String.valueOf(stack.pop()); if(digit.equals("3")) isOk=true; } } return isOk; } /** *使用余数方法获得整数的每一个数字 * @param number 输入参数 整数 * @param num 指定的数字 * @return 返回是否含指定的数字 */ public boolean isModNumber(int number,int num) { boolean isOk=false; if(number<=100&&number>0) { LinkedList<Integer> stack = new LinkedList<Integer>(); while(number > 0){ stack.push(number % 10); number = number / 10; } while ((!stack.isEmpty())){ String digit=""; //System.out.println(stack.pop()); digit=String.valueOf(stack.pop()); if(digit.equals(String.valueOf(num))) isOk=true; } } return isOk; } /** *使用字符串的 toCharArray() 得到字符数组 * @param number 输入参数 整数 * @return 返回是否含指定的3数字 */ public boolean isCharArrayNumber(int number) { boolean isOk=false; if(number<=100&&number>0) { String strNumber = String.valueOf(number); char[] digits = strNumber.toCharArray(); String digit=""; for(int i = 0; i < digits.length; i++) { digit=String.valueOf(digits[i]); if(digit.equals("3")) isOk=true; } } return isOk; } /** * 使用字符串的 toCharArray() 得到字符数组 * @param number 输入参数 整数 * @param num 指定的数字 * @return 返回是否含指定的数字 */ public boolean isCharArrayNumber(int number,int num) { boolean isOk=false; if(number<=100&&number>0) { String strNumber = String.valueOf(number); char[] digits = strNumber.toCharArray(); String digit=""; String strNum=String.valueOf(num); for(int i = 0; i < digits.length; i++) { digit=String.valueOf(digits[i]); if(digit.equals(strNum)) isOk=true; } } return isOk; } /** * 用取余方法 * @param number 输入的数字 * @return 返回是否含3的数字 */ public boolean isThreeNumberOne(int number) { boolean isOk=false; int a=0; int b=0; if(number<=100&&number>0) { while (number != 0) { b = number % 10; a =number / 10; if(a==3||b==3) isOk=true; } } return isOk; } /** * 递归方法 使用递归法从整型数中分离数字 * @param number * @return */ public boolean recursion(int number) { boolean isOk=false; if(number<=number&&number > 0) { recursion(number/10); int n=number%10; if(n==3) isOk=true; } return isOk; } /** * 递归方法 使用递归法从整型数中分离数字 * @param number 输入的数字 * @param num 指定包含的数字 * @return */ public boolean recursion(int number,int num) { boolean isOk=false; if(number<=number&&number > 0) { recursion(number/10); int n=number%10; if(n==num) isOk=true; } return isOk; } /** * 递归方法 使用递归法从整型数中分离数字 * @param number 输入的数字 * @param maxNumber 输入的数字的最大数 * @return 返回是否位数上有含3的数字否 */ public boolean recursionMax(int number,int maxNumber) { boolean isOk=false; if(number<=maxNumber&&number > 0) { recursion(number/10); int n=number%10; if(n==3) isOk=true; } return isOk; } }
标签:Java,String,int,isOk,number,boolean,return,bits From: https://www.cnblogs.com/geovindu/p/17232484.html