如何用java去检测,怎么检测jdk

发布时间:2022-11-20

本文目录一览:

  1. 如何用JAVA检测一个数字的每一位的和,是否是完美数
  2. 如何用Java正则表达式检测字符串是否是数字组成的
  3. 在Java中,如何检测一个数组中是否包含某一个数据?

如何用JAVA检测一个数字的每一位的和,是否是完美数

Java源代码:

import java.util.Scanner;
public class Exam01 {
    public static void main(String[] args) {
        int num;
        System.out.print("请输入一个正整数:");
        Scanner scan = new Scanner(System.in);
        num = scan.nextInt();
        if(perfectNumber(num) == true){
            System.out.printf("%d 是一个完美数", num);
        } else {
            System.out.printf("%d 不是一个完美数", num);
        }
    }
    /**
     * 判断num是否是完美数(各位数字之和恰好是完全数)
     * @param num 待判断数
     * @return true-完美数,false-非完美数
     */
    public static boolean perfectNumber(int num){
        int sum = 0;
        //求num的各位数字之和
        while(num > 0){
            sum += num % 10;
            num /= 10;
        }
        return completeNumber(sum);
    }
    /**
     * 判断num是否是完全数(所有小于自身的因子之和恰好等于其自身的正整数)
     * @param num 待判断数
     * @return true-完全数,false-非完全数
     */
    public static boolean completeNumber(int num){
        if(num <= 1){
            return false;
        }
        int sum = 1;
        //求小于num的所有因子之和
        for(int i=2; i<num; i++){
            if(num % i == 0){
                sum += i;
            }
        }
        return (sum == num ? true : false);
    }
}

运行测试:

请输入一个正整数:600
600 是一个完美数
请输入一个正整数:64
64 不是一个完美数

如何用Java正则表达式检测字符串是否是数字组成的

  1. 正则表达式概念介绍(内容来自百度百科):正则表达式,又称规则表达式,英文名为Regular Expression,在代码中常简写为regex、regexp或RE,是计算机科学的一个概念。 正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,模式描述在搜索文本时要匹配的一个或多个字符串。
  2. 检测字符串是否由数字组成,则采用该表达式:
public static void main(String[] args) {
    // 要验证的字符串
    String str = "service@xsoftlab.net";
    // 是否数字正则表达式
    String regEx = "^[0-9]*$";
    // 编译正则表达式
    Pattern pattern = Pattern.compile(regEx);
    // 忽略大小写的写法
    Matcher matcher = pattern.matcher(str);
    // 字符串是否与正则表达式相匹配
    boolean rs = matcher.matches();
    // 如果为数字,则输出true,反之false,即可用该变量做条件判断
    System.out.println(rs);
}

在Java中,如何检测一个数组中是否包含某一个数据?

可以使用如下的代码:

Arrays.asList(yourArray).contains(yourValue)

但这并不适用于基本数据类型的数组。 在Java8之后,你可以使用Stream来检测intdoublelong类型的数组是否包含某个数值。(分别用IntStreamDoubleStreamLongStream),例如:

int[] a = {1,2,3,4};
boolean contains = IntStream.of(a).anyMatch(x -> x == 4);

对于数组的一些操作,你可以上秒秒学了解相关的知识。