JAVA编程题全集50题及答案Word格式文档下载.docx
- 文档编号:19521186
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:21
- 大小:41.59KB
JAVA编程题全集50题及答案Word格式文档下载.docx
《JAVA编程题全集50题及答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《JAVA编程题全集50题及答案Word格式文档下载.docx(21页珍藏版)》请在冰豆网上搜索。
if(b==true){count++;
System、out、println(i);
System、out、println("素数个数就是:
"
+ count);
}ﻫ}
【程序3】
题目:
打印出所有得"
水仙花数”,所谓 "
水仙花数”就是指一个三位数,其各位数字立方与等于该数本身。
例如:
153就是一个"水仙花数 ”,因为153=1得三次方+5得三次方+3得三次方。
publicclasslianxi03{ﻫpublicstaticvoid main(String[]args){
intb1,b2, b3;
ﻫ
for(intm=101;
m<
1000;
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,打印出90=2*3*3*5。
对n进行分解质因数,应先找到一个最小得质数k,然后按下述步骤完成:
ﻫ
(1)如果这个质数恰等于n,则说明分解质因数得过程已经结束,打印出即可.
ﻫ
(2)如果n<
〉k,但n能被k整除,则应打印出k得值,并用n除以k得商,作为新得正整数您n,重复执行第一步。
ﻫ(3)如果n不能被k整除,则用k+1作为k得值,重复执行第一步。
ﻫimport java、util、*;
public
class
lianxi04{ﻫ
publicstaticvoid main(String[]args){ﻫ
Scanners=newScanner(System、in);
System、out、print(”请键入一个正整数:
”);
int
n
=s、nextInt();
intk=2;
System、out、print(n+”="
);
while(k <=n) {
if(k ==n) {System、out、println(n);
break;
}ﻫ
elseif(n% k ==0){System、out、print(k+”*”);
n =n/k;
} ﻫ
else
k++;
}
}ﻫ【程序5】
ﻫ题目:
利用条件运算符得嵌套来完成此题:
学习成绩〉=90分得同学用A表示,60—89分之间得用B表示,60分以下得用C表示。
importjava、util、*;
ﻫpublicclasslianxi05{
public staticvoidmain(String[]args){ﻫ
int x;
chargrade;
Scanner s=newScanner(System、in);
System、out、print( ”请输入一个成绩:
");
x= s、nextInt();
grade = x〉=90?
'A’
:
x >=60?
’B'
'C'
;
System、out、println("
等级为:
"
+grade);
ﻫ}ﻫ}
【程序6】
输入两个正整数m与n,求其最大公约数与最小公倍数。
/**在循环中,只要除数不等于0,用较大数除以较小得数,将小得一个数作为下一轮循环得大数,取得得余数作为下一轮循环得较小得数,如此循环直到较小得数得值为0,返回较大得数,此数即为最大公约数,最小公倍数为两数之积除以最大公约数。
* /ﻫimportjava、util、*;
ﻫpublic
class
lianxi06
{
public staticvoid main(String[]args){ﻫint
a,b,m;
Scanners= new Scanner(System、in);
ﻫSystem、out、print( ”键入一个整数:
"
);
a= s、nextInt();
System、out、print("
再键入一个整数:
b=s、nextInt();
deffcd=newdeff();
m=cd、deff(a,b);
intn= a * b/m;
System、out、println(”最大公约数:
”+ m);
System、out、println(”最小公倍数:
+n);
}
classdeff{
public intdeff(int x,inty){
intt;
if(x〈y){ﻫ
t =x;
x=y;
y =t;
}
while(y!
= 0){
if(x ==y)returnx;
else{
intk=x%y;
x =y;
y = k;
}ﻫ
}
returnx;
}ﻫ}ﻫ【程序7】
输入一行字符,分别统计出其中英文字母、空格、数字与其它字符得个数.
importjava、util、*;
public classlianxi07{ﻫpublicstaticvoidmain(String[] args){
int digital= 0;
ﻫintcharacter=0;
int other= 0;
ﻫintblank = 0;
char[]ch = null;
Scannersc =newScanner(System、in);
Strings=sc、nextLine();
ch= s、toCharArray();
for(inti=0;
i〈ch、length;
i++){
if(ch>
= '0’&&
ch<='
9’) {ﻫ
digital ++;
}elseif((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);
}
【程序8】
求s=a+aa+aaa+aaaa+aa、、、a得值,其中a就是一个数字。
例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
ﻫimportjava、util、*;
ﻫpublicclass lianxi08{
publicstaticvoidmain(String[]args){ﻫ
longa,b=0, sum =0;
Scanners=new Scanner(System、in);
System、out、print(”输入数字a得值:
”);
a=s、nextInt();
System、out、print(”输入相加得项数:
");
intn = s、nextInt();
inti =0;
while(i 〈n){
b=b+ a;
sum =sum+b;
a=a *10;
++ i;
System、out、println(sum);
ﻫ}
}
【程序9】
一个数如果恰好等于它得因子之与,这个数就称为 "完数"
.例如6=1+2+3、编程
找出1000以内得所有完数。
ﻫpublicclasslianxi09{
publicstaticvoid main(String[]args){
System、out、println("
1到1000得完数有:
for(inti=1;
i<
1000;
i++) {
intt=0;
for(intj=1;
j<= i/2;
j++) {ﻫ
if(i%j==0) {ﻫ
t=t+j;
if(t== i) {
System、out、print(i+"
【程序10】
一球从100米高度自由落下,每次落地后反跳回原高度得一半;
再落下,求它在
第10次落地时,共经过多少米?
第10次反弹多高?
ﻫpublicclass lianxi10{ﻫpublic staticvoidmain(String[]args){
doubleh= 100,s = 100;
for(inti=1;
10;
i++) {ﻫ
s= s + h;
h=h/2;
System、out、println("
经过路程:
+s);
System、out、println("反弹高度:
”+ h/2);
}ﻫ【程序11】
有1、2、3、4四个数字,能组成多少个互不相同且无重复数字得三位数?
都就是多少?
ﻫpublic classlianxi11{ﻫpublicstaticvoidmain(String[]args){ﻫ
int count=0;
for(intx=1;
x〈5;
x++){ﻫ
for(inty=1;
y<
5;
y++) {
for(int z=1;
z<5;
z++){
if(x !
=y &
y !
=z&&x!
=z){
count ++;
System、out、println(x*100 +y*10+z);
System、out、println(”共有” +count+"个三位数"
}ﻫ} ﻫ【程序12】
企业发放得奖金根据利润提成。
利润(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%提成,从键盘输入当月利润,求应发放奖金总数?
importjava、util、*;
ﻫpublic classlianxi12{ﻫpublicstaticvoid main(String[]args){ﻫ
doublex= 0,y = 0;
System、out、print(”输入当月利润(万):
Scanners=newScanner(System、in);
x=s、nextInt();
if(x〉 0 && x〈=10){
y=x * 0、1;
}elseif(x>
10&&x<
=20) {ﻫ
y =10 * 0、1+(x—10)*0、075;
}else if(x>
20 &&
x<=40){
y =10*0、1 + 10*0、075+(x—20)*0、05;
}elseif(x>
40 &
x <=60){
y=10*0、1+ 10*0、075+20*0、05+ (x — 40)* 0、03;
}elseif(x〉60&& x <
=100){
y= 20 *0、175 + 20* 0、05 +20*0、03+(x— 60)*0、015;
}elseif(x 〉100){ﻫ
y =20* 0、175+ 40*0、08+40*0、015 +(x-100)* 0、01;
System、out、println(”应该提取得奖金就是 ” +y+”万"
ﻫ}ﻫ}
【程序13】
一个整数,它加上100后就是一个完全平方数,再加上168又就是一个完全平方数,请问该数就是多少?
ﻫpublicclass lianxi13{
publicstaticvoid main(String[]args){ﻫ
for(intx=1;
x<100000;
x++){ﻫ
if(Math、sqrt(x+100) %1==0){
if(Math、sqrt(x+268) %1==0){
System、out、println(x +”加100就是一个完全平方数,再加168又就是一个完全平方数”);
}ﻫ}
}ﻫﻫ/*按题意循环应该从-100开始(整数包括正整数、负整数、零),这样会多一个满足条件得数-99.
但就是我瞧到大部分人解这道题目时都把题中得“整数”理解成正整数,我也就随大流了。
*/
【程序14】
输入某年某月某日,判断这一天就是这一年得第几天?
importjava、util、*;
publicclasslianxi14 {ﻫpublic static voidmain(String[] args){
intyear,month, day;
intdays=0;
int d= 0;
int e;
inputfymd=newinput();
do {ﻫ
e=0;
System、out、print("输入年:
”);
year=fymd、input();
System、out、print("
输入月:
”);
month=fymd、input();
System、out、print("
输入天:
day=fymd、input();
if(year<
0|| month<0|| month>
12 ||day 〈0 ||day>
31){ﻫ
System、out、println("
输入错误,请重新输入!
e=1;
}while(e==1);
for (inti=1;
i <
month;
i++){
switch(i){
case 1:
case3:
case5:
case7:
case8:
case10:
case12:
days=31;
break;
case 4:
case6:
case9:
case11:
days=30;
break;
case2:
if((year% 400 ==0)|| (year %4== 0&
&year %100!
=0)){
days=29;
} else{
days=28;
break;
d +=days;
System、out、println(year+ "
—"
+ month + ”-"
+ day+"就是这年得第" +(d+day)+"天。
ﻫ}ﻫ}ﻫclass input{ﻫpublicintinput(){ﻫ
intvalue=0;
Scanners=new Scanner(System、in);
value = s、nextInt();
return value;
【程序15】
输入三个整数x,y,z,请把这三个数由小到大输出。
importjava、util、*;
publicclass lianxi15{ﻫpublicstaticvoidmain(String[] args){ﻫ
input fnc= newinput();
intx=0,y=0, z=0;
System、out、print("输入第一个数字:
x =fnc、input();
System、out、print("
输入第二个数字:
y=fnc、input();
System、out、print(”输入第三个数字:
z=fnc、input();
if(x >y) {
intt=x;
x =y;
y =t;
if(x〉 z){ﻫ
intt=x;
x =z;
z =t;
if(y〉z) {ﻫ
intt=y;
y=z;
z= t;
System、out、println( "三个数字由小到大排列为:
+x+””+y +”"
+z);
}ﻫ}ﻫclassinput{
publicintinput(){
intvalue=0;
Scanner s=newScanner(System、in);
value=s、nextInt();
returnvalue;
}
【程序16】ﻫ题目:
输出9*9口诀。
ﻫpublicclasslianxi16{
publicstaticvoidmain(String[]args){
for(inti=1;
i<10;
i++){
for(intj=1;
j<
=i;
j++){
System、out、print(j+"
*"
+i+"=”+ j*i+"
” );
if(j*i〈10){System、out、print("
System、out、println();
}ﻫ}
【程序17】
猴子吃桃问题:
猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个
第二天早上又将剩下得桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下
得一半零一个。
到第10天早上想再吃时,见只剩下一个桃子了。
求第一天共摘了多少。
publicclass lianxi17{ﻫpublic staticvoidmain(String[] args){
int x
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 编程 全集 50 答案