题目:求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); } private static void compose(int[] arr) { 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); } private static boolean isParity(int num) { if(num%2 == 1){ return false; }else { return true; } } public static int factorial(int num){ if(num == 1){ return 1; }else{ return num*factorial(num-1); } } 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;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); } 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)+")的和"); } } } } 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; } 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题库练习题,看看你有哪些不会的”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。