java经典基础练习题及答案.docx

上传人:b****2 文档编号:3383358 上传时间:2023-05-05 格式:DOCX 页数:10 大小:16.68KB
下载 相关 举报
java经典基础练习题及答案.docx_第1页
第1页 / 共10页
java经典基础练习题及答案.docx_第2页
第2页 / 共10页
java经典基础练习题及答案.docx_第3页
第3页 / 共10页
java经典基础练习题及答案.docx_第4页
第4页 / 共10页
java经典基础练习题及答案.docx_第5页
第5页 / 共10页
java经典基础练习题及答案.docx_第6页
第6页 / 共10页
java经典基础练习题及答案.docx_第7页
第7页 / 共10页
java经典基础练习题及答案.docx_第8页
第8页 / 共10页
java经典基础练习题及答案.docx_第9页
第9页 / 共10页
java经典基础练习题及答案.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

java经典基础练习题及答案.docx

《java经典基础练习题及答案.docx》由会员分享,可在线阅读,更多相关《java经典基础练习题及答案.docx(10页珍藏版)》请在冰点文库上搜索。

java经典基础练习题及答案.docx

java经典基础练习题及答案

java经典基础练习题及答案

精品文档

java经典基础练习题及答案

整理:

Lemon

题目:

古典问题:

有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少,

题目:

判断101-200之间有多少个素数,并输出所有素数。

程序分析:

判断素数的方法:

用一个数分别去除2到sqrt,如果能被整除,则表明此数不是素数,

题目:

打印出所有的”水仙花数”,所谓”水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

例如:

153是一个”水仙花数”,因为153=1的三次方,5的三次方,3的三次方。

题目:

将一个正整数分解质因数。

例如:

输入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.写一个函数,计算一个整数数组的平均值

importjava.util.Random;

publicclassjavaSevenDayLianXi{

publicstaticvoidmain{

intarr[]=newint[10];

Randomscore=newRandom;

floatsum=0.0f;

System.out.print;

for{

2/12

精品文档

arr[i]=score.nextInt;

sum+=arr[i];

System.out.print;

}

System.out.println;

System.out.println;}

}

2.自定义一个整数数组a,读入一个整数n,如果n在数组中存在,则输出n的下标;如果不存在,则输出-1。

Scannersca=newScanner;

int[]a={0,1,2,3,4,5,6,7,8,9};

System.out.print;

intshuJu=sca.nextInt;

booleanbool=true;

for{

if{

System.out.println;bool=false;

break;

}

}

ifSystem.out.println;

3.给定一个数组,输出数组中的最大值和最小值

3/12

精品文档

int[]a=

{12,34,563,2,45,778,554,4421,4456,6786};

Arrays.sort;

intmin=a[0];

intmax=a[a.length-1];

System.out.println;

4.*给定一个数组,把这个数组中所有元素顺序进行

颠倒。

importjava.util.Random;

publicclassjavaSevenDayLianXi{

}publicstaticvoidmain{intarr[]=newint[10];intshu=0;Randomscore=newRandom;System.out.print;for{arr[i]=

score.nextInt;System.out.print;}

for/2;i++){shu=arr[i];arr[i]=arr[arr.length-1-i];arr[arr.length-1-i]=shu;}System.out.println;System.out.print;forSystem.out.print;}

5.*数组的扩容。

给定一个数组,要求写一个expand函数,把原有数

组的长度扩容一倍,并保留原有数组原有的内容。

例如,给定一个数组int[]a={1,2,3},则扩容

之后,a数组为:

{1,2,3,0,0,0}publicclassjavaNineDay

4/12

精品文档

{

publicstaticvoidmain{

int[]arr={1,,,,,,,};

arr=setArrays;

for

System.out.print;

}

publicstaticint[]setArrays{

int[]arrays=newint[arr.length*];

System.arraycopy;

returnarrays;

}

}

6.*数组的插入和删除

写两个函数,一个函数为delete函数,声明如下:

publicstaticvoiddelete

该函数表示删除数组pos位置上的元素。

第二个函数为insert函数,声明如下:

publicstaticvoidinsert

该函数表示在数组pos位置上插入value值。

为了能在多个函数中使用同一个数组,需要把这个数组写在函数的外面,类的里面,并使用static修饰。

5/12

精品文档

为了方便,还应该定义一个index变量,用来保存数组的有效元素的个数。

例如下面的代码:

publicclassTestInsertDelete{

staticint[]a={1,3,2,5,7};//多个函数可以直接操作该数组

staticintindex=;

publicstaticvoidmain{

delete;//1

insert;//1

insert;//1

}

publicstaticvoiddelete{

}

publicstaticvoidinsert{

}

}

实现方式:

1.delete方法:

把数组pos位后的所有元素向前移动1位

6/12

精品文档

2.insert方法:

把数组pos位以及之后的元素向后移动1位,然后设置value。

要注意的是,insert时有可能需要数组扩容。

有效元素的个数的含义:

对于a数组,调用一次delete之后,a数组的长度不变,长度依然为5,然而有效元素的个数为个。

Tips:

insert方法中,如何判断是否需要扩容:

比较有效元素的个数和数组的长度,如果这两者一致,则需要扩容。

publicclassjavaNineDay{

staticint[]arr={1,,,,,,,,,,};staticint

index=arr.length;

publicstaticvoidmain{

System.out.print;

for

System.out.print;

System.out.print;

delete;

System.out.print;

insert;

}

publicstaticvoiddelete{

7/12

精品文档

intnum=index;

for{

}}System.arraycopy;arr[--num]=0;}elseif{arr[--num]=0;}}index=num;for{if{System.out.print;}}publicstaticvoidinsert{intarrays[];if{arrays=newint[index+1];System.arraycopy;}elsearrays=arr;System.arraycopy;arrays[pos]=value;index++;for{if{System.out.print;}}}

7.*完成数组的冒泡排序算法:

给定一个数组:

int[]

a={1,3,2,7,5},利用冒泡排序对其按照从小到大的顺序

排序,然后输出结果。

publicclassjavaSevenDayLianXi{

publicstaticvoidmain{

int[]arr={1,,,,};

intterm=0;

for{

for{

if{

term=arr[j];

arr[j]=arr[i];

}}}}}System.out.print;for

8/12

精品文档

System.out.print;

8.*使用第二种算法对数组进行排序

importjava.util.Arrays;

publicclassjavaSevenDayLianXi{

publicstaticvoidmain{

int[]arr={1,,,,};

Arrays.sort;

System.out.print;for

System.out.print;

}

}

杨辉三角的特点:

1.第i行有i个元素

2.每一行的第一个元素和最后一个元素都为1

3.除了1之外,每个元素的值,都等于上一行同位置的元素以及前一个元素的和。

例如:

11的下一行

1a1aaa1

a1=+1=

a=+=10

a=+=10

a=1+=

9/12

精品文档

依次类推。

要求:

读入一个整数n,输出杨辉三角的前n行

importjava.util.Scanner;

publicclassjavaSevenDayLianXi{

publicstaticvoidmain{

Scannersca=newScanner;

System.out.print;

introw=sca.nextInt;

intarr[][]=getArrays;

for{

for

System.out.print+““);System.out.println;

沃克IT教育JAVA基础编程练习题

题目:

古典问题:

有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少,

题目:

判断101-200之间有多少个素数,并输出所有素数。

程序分析:

判断素数的方法:

用一个数分别去除2到

10/12

精品文档

sqrt,如果能被整除,则表明此数不是素数,

题目:

打印出所有的”水仙花数”,所谓”水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

例如:

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-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2