1、java经典基础练习题及答案java经典基础练习题及答案精品文档 java经典基础练习题及答案 整理:Lemon 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少, 题目:判断101-200之间有多少个素数,并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt,如果能被整除,则表明此数不是素数, 题目:打印出所有的”水仙花数”,所谓”水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个”水仙花数”,因为153=1的三次方,5的三次方,3的三次方。 题目:将
2、一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: 如果这个质数恰等于n,则说明分解质因数的过程已1 / 12 精品文档 经结束,打印出即可。 如果nk,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n,重复执行第一步。 题目:利用条件运算符的嵌套来完成此题:学习成绩=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 1. 写一
3、个函数,计算一个整数数组的平均值 import java.util.Random; public class javaSevenDayLianXi public static void main int arr = new int10; Random score = new Random; float sum = 0.0f; System.out.print; for 2 / 12 精品文档 arri = score.nextInt; sum += arri; System.out.print; System.out.println; System.out.println; 2. 自定义一个整
4、数数组a,读入一个整数n,如果n 在数组中存在,则输出n 的下标;如果 不存在,则输出-1。 Scanner sca = new Scanner; int a = 0,1,2,3,4,5,6,7,8,9; System.out.print; int shuJu = sca.nextInt; boolean bool = true; for if System.out.println; bool = false; break; if System.out.println; 3. 给定一个数组,输出数组中的最大值和最小值 3 / 12 精品文档 int a = 12,34,563,2,45,778
5、,554,4421,4456,6786; Arrays.sort; int min=a0; int max=aa.length-1; System.out.println; 4. *给定一个数组,把这个数组中所有元素顺序进行颠倒。 import java.util.Random; public class javaSevenDayLianXi public static void main int arr = new int10; int shu=0; Random score = new Random; System.out.print; for arri = score.nextInt;S
6、ystem.out.print; for/2;i+)shu=arri;arri=arrarr.length-1-i;arrarr.length-1-i=shu; System.out.println; System.out.print; for System.out.print; 5. *数组的扩容。 给定一个数组,要求写一个expand 函数,把原有数组的长度扩容一倍,并保留原有数 组原有的内容。 例如,给定一个数组int a = 1,2,3,则扩容之后,a 数组为:1,2,3,0,0,0 public class javaNineDay 4 / 12 精品文档 public static
7、void main int arr = 1, ; arr = setArrays; for System.out.print; public static int setArrays int arrays = new intarr.length *; System.arraycopy; return arrays; 6. *数组的插入和删除 写两个函数,一个函数为delete 函数,声明如下: public static void delete 该函数表示删除数组pos 位置上的元素。 第二个函数为insert 函数,声明如下: public static void insert 该函数表示在
8、数组pos 位置上插入value 值。 为了能在多个函数中使用同一个数组,需要把这个数组写在函数的外面,类的里面,并 使用static 修饰。 5 / 12 精品文档 为了方便,还应该定义一个index 变量,用来保存数组的有效元素的个数。 例如下面的代码: public class TestInsertDelete static int a = 1,3,2,5,7; /多个函数可以直接操作该数组 static int index =; public static void main delete; /1 insert; /1 insert; /1 public static void del
9、ete public static void insert 实现方式: 1. delete 方法:把数组pos 位后的所有元素向前移动1 位 6 / 12 精品文档 2. insert 方法:把数组pos 位以及之后的元素向后移动1 位,然后设置value。 要注意的是,insert 时有可能需要数组扩容。 有效元素的个数的含义:对于a 数组,调用一次delete 之后,a 数组的长度不变, 长度依然为5,然而有效元素的个数为个。 Tips: insert 方法中,如何判断是否需要扩容:比较有效元素的个数和数组的长度,如果这 两者一致,则需要扩容。 public class javaNineD
10、ay static int arr = 1, ; static int index = arr.length; public static void main System.out.print; for System.out.print; System.out.print; delete; System.out.print; insert; public static void delete 7 / 12 精品文档 int num = index; for System.arraycopy;arr-num = 0; else if arr-num = 0; index = num; for i
11、f System.out.print; public static void insert int arrays; if arrays = new intindex + 1;System.arraycopy; elsearrays = arr; System.arraycopy; arrayspos = value; index+; for if System.out.print; 7. *完成数组的冒泡排序算法:给定一个数组:int a = 1,3,2,7,5,利用冒泡排序对其按照 从小到大的顺序排序,然后输出结果。 public class javaSevenDayLianXi publi
12、c static void main int arr = 1, ; int term = 0; for for if term = arrj; arrj = arri; System.out.print; for 8 / 12 精品文档 System.out.print; 8. *使用第二种算法对数组进行排序 import java.util.Arrays; public class javaSevenDayLianXi public static void main int arr = 1, ; Arrays.sort; System.out.print;for System.out.pri
13、nt; 杨辉三角的特点: 1. 第i 行有i 个元素 2. 每一行的第一个元素和最后一个元素都为1 3. 除了1 之外,每个元素的值,都等于上一行同位置的元素以及前一个元素的和。 例如: 1 1 的下一行 1 a1 aaa1 a1 = + 1 = a= + = 10 a= + = 10 a= 1 + = 9 / 12 精品文档 依次类推。 要求:读入一个整数n,输出杨辉三角的前n 行 import java.util.Scanner; public class javaSevenDayLianXi public static void main Scanner sca = new Scanne
14、r; System.out.print; int row = sca.nextInt; int arr = getArrays; for for System.out.print + “ “); System.out.println; 沃克IT教育JAVA基础编程练习题 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少, 题目:判断101-200之间有多少个素数,并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到10 / 12 精品文档 sqrt,如果能被整除,则表明此数不是素数,
15、题目:打印出所有的”水仙花数”,所谓”水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个”水仙花数”,因为153=1的三次方,5的三次方,3的三次方。 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: 如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。 如果nk,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n,重复执行第一步。 题目:利用条件运算符的嵌套来完成此题:学习成绩=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 11 / 12 精品文档 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 12 / 12
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1