编程合集: https://www.cnblogs.com/jssj/p/12002760.html

Java总结:https://www.cnblogs.com/jssj/p/11146205.html

【程序41】
题目:求0,1,2,3,4,5,6,7所能组成的8位奇数个数。

/**
* 【程序41】
* 题目:求0,1,2,3,4,5,6,7所能组成的8位奇数个数。
*/
public class Subject41 { public static void main(String[] args) {
int[] arr = new int[]{0,1,2,3,4,5,6,7};
compose(arr);
} /**
* 获取:0—7所能组成的奇数个数
*/
private static void compose(int[] arr) {
/**奇数特点,该数不能被2整数。故各位数是1,3,5,7,9**/
int oddCount = 0;
for (int i = 0; i < arr.length; i++) {
if(!isParity(arr[i])){
oddCount++;
}
}
/***************各位已经确定,剩下的数可以组成整数的个数*******************/
int num = factorial(arr.length-1);
/****************输出结果*********************/
System.out.println("以下数字:");
printArray(arr);
System.out.println("可产生的奇数个数:"+oddCount*num); } /**
* 判断num是奇数还是偶数
* @param num
* @return
*/
private static boolean isParity(int num) {
if(num%2 == 1){
return false;
}else {
return true;
}
} /**
* 计算num的阶乘!
* @param num
* @return
*/
public static int factorial(int num){
if(num == 1){
return 1;
}else{
return num*factorial(num-1);
}
} /**
* 打印数组
* @param arr
*/
private static void printArray(int[] arr) {
for (int i = 0; i < arr.length ; i++) {
System.out.print(arr[i]+" ");
}
}
}

运行结果:

【程序42】
题目:输入一个偶数,判断该偶数等于哪两个素数之和。

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner; /**
* 【程序42】
* 题目:输入一个偶数,判断该偶数等于哪两个素数之和。
*/
public class Subject42 {
public static void main(String[] args) {
System.out.println("请输入大于等于2的偶数:");
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
getTwoPrimeNum(num);
} /**
* 获取两个素数
* @param num
*/
private static void getTwoPrimeNum(int num) {
List<Integer> primeNumberList = getPrimeNumber(2,num);
for (int i = 0; i < primeNumberList.size(); i++) {
for (int j = i; j < primeNumberList.size(); j++) {
if(num == primeNumberList.get(i) + primeNumberList.get(j)){
System.out.println("该偶数为素数("+primeNumberList.get(i)+")和素数("+primeNumberList.get(j)+")的和");
}
}
}
} /**
* 判断a和b之间有多少个素数
* @param a
* @param b
*/
public static List<Integer> getPrimeNumber(int a, int b){
List<Integer> primeNumberList = new ArrayList<>();
if(a >= b){
System.out.println("a不能大于等于b!");
}
for(int i=a;i<=b;i++){
if(isPrimeNumber(i)){
primeNumberList.add(i);
}
}
return primeNumberList;
} /**
* 判断num是否是一个素数
* @param i
* @return
*/
private static boolean isPrimeNumber(int i) {
boolean flag = true;
for(int j=2;j <= i/2;j++){
if(i%j == 0){
flag = false;
break;
}
}
return flag;
}
}

运行结果:

【程序43】
题目:判断一个素数能被几个9整除

import java.util.Scanner;

/**
* 【程序43】
* 题目:判断一个素数能被几个9整除 (例如3能被9整除, 9除以3,等于3.) ,备注 :数学除是后面的数除以前面的数
* 尽管如此,该题还是感觉没有意义。
*/
public class Subject43 {
public static void main(String[] args) {
System.out.println("请输入一个素数");
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
dealNum(num);
} private static void dealNum(int num) {
if(!isPrimeNumber(num)){
System.out.println("您输入的数字不能素数!");
return ;
} int divisorNum = 9;
while(true){
if(divisorNum%num == 0 ){
System.out.println("您输入的素数能被"+divisorNum/9+"个9整除!");
break;
}
divisorNum = divisorNum + 9;
}
} /**
* 判断num是否是一个素数
* @param i
* @return
*/
private static boolean isPrimeNumber(int i) {
boolean flag = true;
for(int j=2;j <= i/2;j++){
if(i%j == 0){
flag = false;
break;
}
}
return flag;
}
}

运行结果:

【程序44】
题目:两个字符串连接程序

/**
* 【程序44】
* 题目:两个字符串连接程序(该题为C代码题目。)使用C方式实现该程序
*/
public class Subject44 {
public static void main(String[] args) {
String str1 = "张三";
String str2 = "李晓明";
splicingStr(str1,str2);
} private static void splicingStr(String str1, String str2) {
/*****java实现***************/
System.out.println("java实现:"+str1 + str2);
/*****C实现,C言语字符串本身就是需要使用char[] 数组保存的,这里就不再从新写了***************/
char[] arrStr1 = str1.toCharArray();
char[] arrStr2 = str2.toCharArray();
char[] arrStrSum = new char[arrStr1.length + arrStr2.length];
for (int i = 0; i < arrStrSum.length; i++) {
if(i < str1.length()){
arrStrSum[i] = arrStr1[i];
}else{
arrStrSum[i] = arrStr2[i-str1.length()];
}
}
System.out.print("C语言方式实现:");
printArray(arrStrSum);
}
/**
* 打印数组
* @param arr
*/
private static void printArray(char[] arr) {
for (int i = 0; i < arr.length ; i++) {
System.out.print(arr[i]);
}
System.out.println();
}
}

运行结果:

【程序45】
题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。

import java.util.Scanner;

/**
* 【程序45】
* 题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。
*/
public class Subject45 {
public static void main(String[] args) {
System.out.println("请输入一个(1—50)正整数:");
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
printSymbol(num);
} /**
* 打印符号“*”
* @param num
*/
private static void printSymbol(int num) {
for (int i = 0; i < num ; i++) {
System.out.print("*");
}
}
}

运行结果:

【程序46】
题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。

import java.util.Scanner;

/**
* 【程序46】
* 题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
*/
public class Subject46 {
public static void main(String[] args) {
System.out.println("请输入一个4位整数:");
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
encryption(num);
} /**
* 数字加密
* @param num
*/
private static void encryption(int num) {
char[] arr= (num+"").toCharArray();
for (int i = 0; i < arr.length/2; i++) {
char tmp = arr[i];
arr[i] = arr[arr.length-i-1];
arr[arr.length-i-1] = tmp;
}
String cipherText = "";
for (int i = 0; i < arr.length; i++) {
int tmp = (arr[i]-'0'+5)%10;
cipherText = cipherText+tmp;
}
System.out.println("密文:"+cipherText);
}
}

运行结果:

【程序47】
题目:计算字符串中子串出现的次数

import java.util.regex.Matcher;
import java.util.regex.Pattern; /**
* 【程序47】
* 题目:计算字符串中子串出现的次数
*/
public class Subject47 {
public static void main(String[] args) {
String str1 = "adsdfgfddghrcadncmbvxcxadakssadkfowp";
String str2 = "ad";
strLookCount(str1,str2);
} /**
* 子串出现次数
* @param str1
* @param str2
*/
private static void strLookCount(String str1, String str2) {
Pattern pattern = Pattern.compile(str2);
Matcher m = pattern.matcher(str1);
int count=0;
while(m.find()){
count++;
}
System.out.println("子串出现次数: "+count);
}
}

运行结果:

参考:https://blog.csdn.net/zzzzzzzhu/article/details/82355001

《Java练习题》习题集五的更多相关文章

  1. 《Java练习题》Java编程题合集(全)

    前言:不仅仅要实现,更要提升性能,精益求精,用尽量少的时间复杂度和空间复杂度解决问题. 初学者: <Java练习题>习题集一   https://www.cnblogs.com/jssj/ ...

  2. Java进阶(五)Java I/O模型从BIO到NIO和Reactor模式

    原创文章,同步发自作者个人博客,http://www.jasongj.com/java/nio_reactor/ Java I/O模型 同步 vs. 异步 同步I/O 每个请求必须逐个地被处理,一个请 ...

  3. Java 字符串拼接 五种方法的性能比较分析 从执行100次到90万次

    [请尊重原创版权,如需引用,请注明来源及地址] > 字符串拼接一般使用“+”,但是“+”不能满足大批量数据的处理,Java中有以下五种方法处理字符串拼接,各有优缺点,程序开发应选择合适的方法实现 ...

  4. Java实验报告五:Java网络编程及安全

    Java实验报告五:Java网络编程及安全                                                                               ...

  5. java入门第五步之数据库项目实战【转】

    在真正进入代码编写前些进行一些工具的准备: 1.保证有一个可用的数据库,这里我用sql server 2000为例,2.拥有一个ide,如ecelise或myeclipse等,这里我使用的是myecl ...

  6. Java中的五种单例模式实现方法

    [代码] Java中的五种单例模式实现方法   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 2 ...

  7. java多线程系列(五)---synchronized ReentrantLock volatile Atomic 原理分析

    java多线程系列(五)---synchronized ReentrantLock volatile Atomic 原理分析 前言:如有不正确的地方,还望指正. 目录 认识cpu.核心与线程 java ...

  8. Java核心技术第五章——1.类、超类、子类(2)

    继上一篇Java核心技术第五章——1.类.超类.子类(1) 6.重载解析 假如调用ClassName.Method(args) 1.编译器列出类ClassName所有名为Method的方法. 2.编译 ...

  9. Java多线程(五)线程的生命周期

    点我跳过黑哥的卑鄙广告行为,进入正文. Java多线程系列更新中~ 正式篇: Java多线程(一) 什么是线程 Java多线程(二)关于多线程的CPU密集型和IO密集型这件事 Java多线程(三)如何 ...

  10. “全栈2019”Java多线程第五章:线程睡眠sleep()方法详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

随机推荐

  1. JVM 问题排查和性能优化常用的 JDK 工具

    JDK 提供了一系列用于监控.诊断 Java 进程的工具,它们在 JDK 安装目录的 bin 目录下,有 jps.jcmd.jstack.jinfo.jmap 等.其中jmc.jconsole.jvi ...

  2. 2019-9-11:渗透测试,基础学习,ubuntu搭建LAMP

    一,apache web服务器安装 1,sudo apt-get install apache2 2,systemctl status apache2,检查apache2是否开启 #开启.关闭和重启a ...

  3. python 正确字符串处理(自己踩过的坑)

    不管是谁,只要处理过由用户提交的调查数据,就能明白这种乱七八糟的数据是怎么一回事.为了得到一组能用于分析工作的格式统一的字符串,需要做很多事情:去除空白符.删除各种标点符号.正确的大写格式等.做法之一 ...

  4. Tensorflow常用函数说明

    1.矩阵操作 1.1矩阵生成 这部分主要将如何生成矩阵,包括全0矩阵,全1矩阵,随机数矩阵,常数矩阵等 sess=tf.InteractiveSession() #x=tf.ones([2,3],tf ...

  5. JSONPath入门之Snack3篇

    Snack3 for java 一个微型JSON框架 基于jdk8,60kb.有序列化反序列化.解析和转换.支持 Json path 查询. <dependency> <groupI ...

  6. 漫谈LiteOS之开发板-串口(基于GD32450i-EVAL)

    [摘要] ​主要讲解物联网的技术积累,本期我们先带领大家学习漫谈LiteOS之漫谈开发板第一集-串口,本文基于GD32450i-EVAL对串口以及其通信做了一个简要的分析,以及开发过程中遇到的一些技术 ...

  7. 曹工杂谈:Spring boot应用,自己动手用Netty替换底层Tomcat容器

    前言 问:标题说的什么意思? 答:简单说,一个spring boot应用(我这里,版本升到2.1.7.Release了,没什么问题),默认使用了tomcat作为底层容器来接收和处理连接. 我这里,在依 ...

  8. spring redis学习笔记

    1.下载: https://github.com/MicrosoftArchive/redis/releases,并解压文件; 2.双击redis-server.exe,运行redis服务器; 3.双 ...

  9. 基于SCN增量恢复DG同步

    问题描述:做scn恢复备库的测试,吭哧了几天,今天终于可以记录一下,遇到了很多坑,作为初学者可以更好地理解DG,主要先关闭备库,在主库做归档丢失备库无法同步,备库产生GAP,然后增量备份恢复备库,版本 ...

  10. Python列表中的字典按照该字典下的键值进行排序

    列表中的字典按照该字典下的键值进行排序 这算是排序中比较复杂的一种情况吧,多重嵌套,按照某种规则进行排序.如下面这个json(注:这里这是该列表中的一个项): [ { "stat" ...