编程合集: 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. 真的,Kafka 入门一篇文章就够了

    初识 Kafka 什么是 Kafka Kafka 是由 Linkedin 公司开发的,它是一个分布式的,支持多分区.多副本,基于 Zookeeper 的分布式消息流平台,它同时也是一款开源的基于发布订 ...

  2. Xamarin.Forms 学习系列之底部tab

    App中一般都会有一个底部tab,用于切换不同的功能,在Xamarin中应该制作底部tab了,需要把Android的TabbedPage做一次渲染,IOS的则不用,接下来说下详细步骤: 1.在共享项目 ...

  3. 阿里云上万个 Kubernetes 集群大规模管理实践

    点击下载<不一样的 双11 技术:阿里巴巴经济体云原生实践> 本文节选自<不一样的 双11 技术:阿里巴巴经济体云原生实践>一书,点击上方图片即可下载! 作者 | 汤志敏,阿里 ...

  4. 《软件安装》centos 安装 mysql

    上期问题回顾 全球 IPv4 地址正式耗尽,IPv4地址大约42.9亿,按照理论来说,每一个联网的设备都需要IP地址,而现在全球联网设备远远不止42.9亿,那么,这么多设备是怎么处理联网的问题呢? 先 ...

  5. 【Android - 控件】之可悬浮列表StickyHeadersRecyclerView

    这是timehop的GitHub上发表的一个控件框架,大家可以去参考它的[GitHub]. 这里先贴出GitHub上提供的效果图: 要使用这个框架,我们需要首先导入它的依赖: compile 'com ...

  6. js基础-函数-var和let的区别

    javaScript简介 javaScript历史 1995年,Netscape公司是凭借Navigator浏览器成为当时第一代互联网公司. 网景公司希望在HTML界面上加一点动态效果,于是叫Bren ...

  7. vue如何引入图片地址

    我们在用vue时储存图片时,一般把图片放在两种文件下,一个是static文件夹下,另外一个是assets文件夹下. 下面总体说一下这两个的区别及正确的引用方式: static是放不会变动的图片(或文件 ...

  8. vue实例化过程

    我们在用vue进行开发项目时,是否存在疑惑,new Vue(xxx)的过程中,究竟发生了什么?定义的数据,是如何绑定到视图上的?本篇主要介绍在实例化vue时,主要做了哪些事,文章比较长,主要篇幅内容为 ...

  9. Qt事件分发机制源码分析之QApplication对象构建过程

    我们在新建一个Qt GUI项目时,main函数里会生成类似下面的代码: int main(int argc, char *argv[]) { QApplication application(argc ...

  10. 这个立冬,我线下面基了一位TMD高级专家,太牛逼了!

    立冬刚过,迎面而来的是一股寒气.天气如此,市场亦是如此.昨天周五,和1个认识的技术专家老刘约饭,也算是线下面基,增进感情.每年我都要向比我高阶的朋友讨教.不由自主聊到了他的职场生涯.鱼哥一直以为自己命 ...