编程合集: 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. python_06

    今日内容:注意: selenium驱动的浏览器是干净的,没有任何缓存. 1.selenium剩余用法 2.selenium万能登录破解 3.selenium爬取京东商品信息 4.破解极验滑动验证码 X ...

  2. PHP安全之道学习笔记1:PHP项目安全设置

    在全球范围来看,超过了80%的网站是使用php进行搭建的,由于脚本语言和早期版本设计的诸多原因,php项目存在不少安全隐患.从配置选项来看,可以做如下的优化. 1.屏蔽PHP错误输出. 在/etc/p ...

  3. LXC容器文件系统设计优化

    在HOST上面,一个LXC container包含一个config文件和一个rootfs目录. 早期我们在交叉编译系统上编译出container的rootfs之后,直接在编译系统上将其用tar压缩打包 ...

  4. 堆 堆排序 优先队列 图文详解(Golang实现)

    引入 在实际应用中,我们经常需要从一组对象中查找最大值或最小值.当然我们可以每次都先排序,然后再进行查找,但是这种做法效率很低.哪么有没有一种特殊的数据结构,可以高效率的实现我们的需求呢,答案就是堆( ...

  5. 【集训Day1 测试】奇怪数

    奇怪数(odometer) [题目描述] 一个正整数Z是奇怪数,当且仅当满足的条件是:Z的所有数字中,只有一个数字不同于其他数字.例如:33323.110 都是奇怪数,而 9779.5555 都不是奇 ...

  6. SpringBoot学习(七)—— springboot快速整合Redis

    目录 Redis缓存 简介 引入redis缓存 代码实战 Redis缓存 @ 简介 redis是一个高性能的key-value数据库 优势 性能强,适合高度的读写操作(读的速度是110000次/s,写 ...

  7. python_thread

    多任务编程:可以有效的利用计算机资源,同时执行多个任务进程:进程就是程序在计算机中一次执行的过程进程 和 程序的区别:    1.程序是一个静态文件的描述,不占计算机的系统资源    2.进程是一个动 ...

  8. ThreadLocal快速了解一下

    欢迎点赞阅读,一同学习交流,有疑问请留言 . GitHub上也有开源 JavaHouse 欢迎star 1 引入 在Java8里面,ThreadLocal 是一个泛型类.这个类可以提供线程变量.每个线 ...

  9. js杂项积累

    主要内容: 一 浏览器重定向Http请求跨域 二 html select标签 可以设置属性multipe,变为多选 三 document.wirte只应在script标签的顶层代码中使用.不能放在函数 ...

  10. 【nodejs原理&源码赏析(7)】【译】Node.js中的事件循环,定时器和process.nextTick

    [摘要] 官网博文翻译,nodejs中的定时器 示例代码托管在:http://www.github.com/dashnowords/blogs 原文地址:https://nodejs.org/en/d ...