《JAVA模拟试题及答案[001].docx》由会员分享,可在线阅读,更多相关《JAVA模拟试题及答案[001].docx(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 JAVA模拟试题及答案 【程序1】 题目:古典问题:有一对兔子,从诞生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假设兔子都不死,问每个月的兔子总数为多少? 这是一个菲波拉契数列问题 public class lianxi01 public static void main(String args) System.out.println(第1个月的兔子对数: 1); System.out.println(第2个月的兔子对数: 1); int f1 = 1, f2 = 1, f, M=24; for(int i=3; i=M; i+) f = f2; f2 = f1
2、 + f2; f1 = f; System.out.println(第 + i +个月的兔子对数: +f2); 【程序2】 题目:推断101-200之间有多少个素数,并输出全部素数。 程序分析:推断素数的.方法:用一个数分别去除2到sqrt(这个数),假如能被整除, 则说明此数不是素数,反之是素数。 public class lianxi02 public static void main(String args) int count = 0; for(int i=101; i200; i+=2) boolean b = false; for(int j=2; j=Math.sqrt(i);
3、j+) if(i % j = 0) b = false; break; else b = true; if(b = true) count +;System.out.println(i ); System.out.println( 素数个数是: + count); 【程序3】 题目:打印出全部的 水仙花数 ,所谓 水仙花数 是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 水仙花数 ,由于153=1的三次方+5的三次方+3的三次方。 public class lianxi03 public static void main(String args) int b1, b2, b3
4、; for(int m=101; m1000; m+) b3 = m / 100; b2 = m % 100 / 10; b1 = m % 10; if(b3*b3*b3 + b2*b2*b2 + b1*b1*b1) = m) System.out.println(m+是一个水仙花数); 【程序4】 题目:利用条件运算符的嵌套来完成此题:学习成绩 =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。 import java.util.*; public class lianxi05 public static void main(String args) int x; c
5、har grade; Scanner s = new Scanner(System.in); System.out.print( 请输入一个成绩: ); x = s.nextInt(); grade = x = 90 ? A : x = 60 ? B :C; System.out.println(等级为:+grade); 【程序5】 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 /*在循环中,只要除数不等于0,用较大数除以较小的数,将小的一个数作为下一轮循环的大数,取得的余数作为下一轮循环的较小的数,如此循环直到较小的数的值为0,返回较大的数,此数即为最大公约数,最小公倍数为两数之
6、积除以最大公约数。* / import java.util.*; public class lianxi06 public static void main(String args) int a ,b,m; Scanner s = new Scanner(System.in); System.out.print( 键入一个整数: ); a = s.nextInt(); System.out.print( 再键入一个整数: ); b = s.nextInt(); deff cd = new deff(); m = cd.deff(a,b); int n = a * b / m; System.o
7、ut.println(最大公约数: + m); System.out.println(最小公倍数: + n); class deff public int deff(int x, int y) int t; if(x y) t = x; x = y; y = t; while(y != 0) if(x = y) return x; else int k = x % y; x = y; y = k; return x; 【程序6】 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 import java.util.*; public class lianxi07 publ
8、ic static void main(String args) int digital = 0; int character = 0; int other = 0; int blank = 0; char ch = null; Scanner sc = new Scanner(System.in); String s = sc.nextLine(); ch = s.toCharArray(); for(int i=0; i if(ch = 0 ch = 9) digital +; else if(ch = a ch = z) | ch A ch = Z) character +; else if(ch = ) blank +; else other +; System.out.println(数字个数: + digital); System.out.println(英文字母个数: + character); System.out.println(空格个数: + blank); System.out.println(其他字符个数: + other );