更新时间:2020-08-31 16:02:50 来源:极悦 浏览1992次
题目:求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]+" ");
}
}
}
运行结果:
题目:输入一个偶数,判断该偶数等于哪两个素数之和。
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 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 getPrimeNumber(int a, int b){
List 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;
}
}
运行结果:
以上就是极悦java培训机构的小编针对“Java题库练习题,看看你有哪些不会的”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习