Java编程练习题文档格式.docx
《Java编程练习题文档格式.docx》由会员分享,可在线阅读,更多相关《Java编程练习题文档格式.docx(38页珍藏版)》请在冰点文库上搜索。
![Java编程练习题文档格式.docx](https://file1.bingdoc.com/fileroot1/2023-5/11/b87730ed-e33e-4d54-89da-a9a2eae6c4d0/b87730ed-e33e-4d54-89da-a9a2eae6c4d01.gif)
for(inti=1;
=1000;
inta=0;
for(intj=1;
j<
=i/2;
j++){
if(i%j==0)
a+=j;
if(a==i)
System.out.print(i+"
3、要求1000!
(1000*999*998...*2*1)的值。
importjava.math.BigDecimal;
publicclassJava1_3{
BigDecimalfac=newBigDecimal
(1);
;
for(inti=1000;
i>
=1;
i--){
BigDecimalb=newBigDecimal(i);
fac=fac.multiply(b);
1000!
为:
+fac);
4、设计一个能随机产生100个大写英文字母的方法,在该方法中统计产生了多少个元音字母,并输出这个数字。
publicclassJava1_4{
charch[]=newchar[100];
intcount=0;
随机产生的100个大写字母分别为:
100;
inta=(int)(Math.random()*26);
ch[i]=(char)(a+65);
System.out.print(ch[i]+"
if((i+1)%5==0)
System.out.println();
if(ch[i]=='
A'
||ch[i]=='
E'
||ch[i]=='
I'
O'
U'
){
count++;
其中元音字母有"
+count+"
个!
5、有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第3个月后每个月又生一对兔子,假如兔子不死,问每个月的兔子总数为多少?
importjava.util.Scanner;
publicclassJava1_5{
Scannerscanner=newScanner(System.in);
请输入月数:
intm=scanner.nextInt();
第1个月的兔子对数:
1"
第2个月的兔子对数:
intf1=1,f2=1,f;
for(inti=3;
i<
=m;
i++){
f=f2;
f2=f1+f2;
f1=f;
第"
+i+"
个月的兔子对数:
+f2);
6、打印出所有的"
水仙花数"
,所谓"
是指一个三位数,其各位数字立方和等于该数本身。
例如:
153是一个"
,因为153=1的三次方+5的三次方+3的三次方。
publicclassJava1_6{
intbit=0,ten=0,hun=0;
水仙花数有:
for(intn=100;
n<
1000;
n++){
if(n<
1000){
bit=n%10;
ten=n%100/10;
hun=n/100;
if(bit*bit*bit+ten*ten*ten+hun*hun*hun==n)
System.out.print(n+"
7、输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
importjava.io.*;
publicclassJava1_7{
publicstaticvoidmain(String[]args)throwsIOException{
BufferedReaderbuf;
Stringstr;
inta=0,b=0,c=0,d=0;
buf=newBufferedReader(newInputStreamReader(System.in));
请输入一串字符:
str=buf.readLine();
charch[]=str.toCharArray();
ch.length;
if((ch[i]>
='
a'
&
&
ch[i]<
z'
)||(ch[i]>
Z'
))
a++;
elseif(ch[i]>
0'
9'
)
b++;
elseif(ch[i]=='
'
c++;
else
d++;
英文字母有:
+a+"
个"
数字有:
+b+"
空格有:
+c+"
其它字符有:
+d+"
8、一球从100米高度自由落下,每次落地后反跳回原高度的一半;
再落下,求它在第10次落地时,共经过多少米?
第10次反弹多高?
publicclassJava1_8{
doubleheight=100,sum=100;
10;
sum+=height;
height=height/2;
球共经过"
+sum+"
米!
+"
\n"
第10次反弹高度为:
+height/2);
9、企业发放的奖金根据利润提成。
利润(I)低于或等于10万元时,奖金可提10%;
利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;
20万到40万之间时,高于20万元的部分,可提成5%;
40万到60万之间时高于40万元的部分,可提成3%;
60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?
publicclassJava1_9{
doublereward;
请输入月利润数(万):
doublen=scanner.nextDouble();
if(n>
0&
n<
=10)
reward=n*0.1;
elseif(n>
10&
=20)
reward=10*0.1+(n-10)*0.075;
20&
=40)
reward=10*0.1+10*0.075+(n-20)*0.05;
40&
=60)
reward=10*0.1+10*0.075+20*0.05+(n-40)*0.03;
60&
=100)
reward=10*0.1+10*0.075+20*0.05+20*0.03+(n-60)*0.015;
else
reward=10*0.1+10*0.075+20*0.05+20*0.03+40*0.015+(n-100)*0.01;
应发放奖金总数为:
+reward);
10、猴子吃桃问题:
猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想再吃时,见只剩下一个桃子了。
求第一天共摘了多少。
publicclassJava1_10{
intn=1;
for(inti=9;
0;
n=(n+1)*2;
第一天共摘了"
+n+"
个桃子"
11、利用递归方法求5!
。
publicclassJava1_11{
intfac=1;
=5;
i++)
fac=fac*i;
5!
12、求一个3*3矩阵对角线元素之和.
publicclassJava1_12{
int[][]number=newint[3][3];
请输入9个整数:
3;
for(intj=0;
j<
j++){
number[i][j]=scanner.nextInt();
输入的3*3矩阵是:
System.out.print(number[i][j]+"
intsum=0;
for(intj=0;
if(i==j){
sum+=number[i][j];
}
矩阵的对角线元素之和为:
+sum);
13、输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
publicclassJava1_13{
请输入6个数据:
floatnumber[]=newfloat[6];
6;
number[i]=scanner.nextFloat();
floatmax=number[0],min=number[0],temp;
inta=0,b=0;
number.length;
if(number[i]>
max){
max=number[i];
a=i;
if(number[i]<
min){
min=number[i];
b=i;
if(a!
=0){
temp=number[0];
number[0]=number[a];
number[a]=temp;
if(b!
=number.length-1){
temp=number[number.length-1];
number[number.length-1]=number[b];
number[b]=temp;
调换顺序后:
System.out.print(number[i]+"
14、定义复数的类Complex并测试其功能:
1.复数由实部、虚部两个部分组成,在类的定义中应包含保存这两部分信息的内容。
2.在类中定义构造函数,使用户能够在构造对象的同时为对象赋初值。
3.在类中定义复数的加法、减法、乘法三个二元操作符来完成复数间的加、减、乘的功能。
4.通过重载tosthing,使得Complex类的对象能够显示其自身信息。
5.通过显示定义一个成员函数完成对象的赋值操作,使用户能够对Complex类的对象进行赋值。
6.编写一段主程序(main函数),使用户能够通过这段主程序输入复数并进行复数的计算。
15、建立一个银行账户类,要求能够存放用户的账号、姓名、密码和账户余额等个人信息,并包含存款、取款、查询余额和修改账户密码等操作,并用此类创建对象,对象的账号为100,姓名为Tom,密码为11111,账户余额为10000。
publicclassJava1_15{
Login();
publicstaticvoidLogin(){
System.out.println("
请登录:
System.out.print("
请输入账号:
Scannerscanner=newScanner(System.in);
StringId=scanner.nextLine();
请输入密码:
StringPwd=scanner.nextLine();
System.out.println();
booleanflag=Customer.login(Id,Pwd);
if(flag==true){
Menu.menu();
else{
System.out.println("
您输入的用户名或密码有错误,请重新输入!
Login();
classCustomer{
privateStringId,Pwd,Name;
privateintMony;
staticStringid,name,pwd;
staticintmony;
publicCustomer(){}
publicCustomer(Stringid,Stringpwd){
this.Id=id;
this.Pwd=pwd;
publicvoidsetId(Stringid){
publicStringgetId(){
returnthis.Id;
publicvoidsetName(Stringname){
this.Name=name;
publicStringgetName(){
returnthis.Name;
publicvoidsetPwd(Stringpwd){
publicStringgetPwd(){
returnthis.Pwd;
publicstaticbooleanlogin(StringID,StringPWD){
booleanflag=false;
Customercm0=newCustomer("
123"
"
cm0.Name="
abc"
cm0.Mony=2000;
Customercm1=newCustomer("
456"
cm1.Name="
def"
cm1.Mony=3000;
Customercm2=newCustomer("
789"
cm2.Name="
fgh"
cm2.Mony=4000;
Stringcustomer_Id[]={cm0.Id,cm1.Id,cm2.Id};
Stringcustomer_Pwd[]={cm0.Pwd,cm1.Pwd,cm2.Pwd};
Stringcustomer_Name[]={cm0.Name,cm1.Name,cm2.Name};
intcustomer_Mony[]={cm0.Mony,cm1.Mony,cm2.Mony};
for(inti=0;
customer_Id.length;
if(ID.equals(customer_Id[i])&
PWD.equals(customer_Pwd[i])){
id=customer_Id[i];
pwd=customer_Pwd[i];
name=customer_Name[i];
mony=customer_Mony[i];
flag=true;
returntrue;
else
returnfalse;
classMenu{
publicstaticvoidmenu(){
主菜单"
1、取款服务"
2、修改密码"
3、存款服务"
4、转账服务"
5、查询余额"
6、退出"
inta=scanner.nextInt();
switch(a){
case1:
DrawMony();
break;
case2:
ChangePwd();
case3:
SaveMony();
case4:
TransferMony();
case5:
CheckMony();
case6:
publicstaticvoidDrawMony(){
请确定取款金额"
1-->
1001000<
--4"
2-->
3005000<
--5"
3-->
500其它金额<
--6"
i