if(isPrime(i)){
System.out.print(i+"");
}
}
}
privatestaticbooleanisPrime(intn){
booleanflag=true;
for(inti=2;i<=Math.sqrt(n);i++){
if((n%i)==0){
flag=false;
break;
}else{
flag=true;
}
}
returnflag;
}
}
【程序3】
题目:
打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
例如:
153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
程序分析:
利用for循环控制100-999个数,每个数分解出个位,十位,百位。
publicclassA13Shui{
publicstaticvoidmain(String[]args){
for(inti=100;i<999;i++){
intx,y,z,m,n;
x=i%10;
y=i/10;
z=y/10;
m=y%10;
n=x*x*x+z*z*z+m*m*m;
if(i==n){
System.out.print(i+"");
}
}
}
}
【程序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的值,重复执行第一步。
publicclassA14Pro{
publicstaticvoidmain(String[]args){
intn=156;
intk=2;
System.out.print(n+"=");
while(n>k){
if(n%k==0){
System.out.print(k+"*");
n=n/k;
}
if(n%k!
=0){
k++;
}
}
System.out.println(k);
}
}
【程序5】
题目:
利用条件运算符的嵌套来完成此题:
学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
程序分析:
(a>b)?
a:
b这是条件运算符的基本例子。
importjava.util.Scanner;
publicclassA15Cheng{
publicstaticvoidmain(String[]args){
System.out.println("请输入数字");
Scannerin=newScanner(System.in);
intn=in.nextInt();
grade(n);
}
privatestaticvoidgrade(intn){
if(n>100||n<0)
System.out.println("输入无效,请重新运行输入");
else{
charb=(n>89)?
'A':
'B';
charc=(n>60)?
b:
'C';
System.out.println(n+":
"+c);
}
}
}
【程序6】
题目:
输入两个正整数m和n,求其最大公约数和最小公倍数。
程序分析:
利用辗除法。
*求最大公约数
publicclassA16ZhanChu{
publicstaticvoidmain(String[]args){
intm=128;
intn=64;
ints=m*n;
intr=m%n;
//辗除法
do{
r=m%n;
m=n;
n=r;
}while(r!
=0);
System.out.println(m+","+s/m);
}
}
【程序7】
题目:
输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
程序分析:
利用while语句,条件为输入的字符不为'\n'.
/*输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数
*@author利用while语句,条件为输入的字符不为'\n'
publicclassA17Char{
publicstaticvoidmain(String[]args){
Stringstr="Ilove234迪欧9Java";
intcountNum=0;//统计数字的个数
intcountChar=0;//统计英文字母的个数
intcountSpace=0;//统计空格的个数
intcountOthers=0;//统计其它字符的个数
for(inti=0;i charc=str.charAt(i);
if(c>='0'&&(int)c<='9'){
countNum++;
}elseif((c>='a'&&c<='z')||(c>='A'&&c<='Z')){
countChar++;
}elseif(c==''){
countSpace++;
}else{
countOthers++;
}
}
System.out.println(countNum+","+countChar+","+countSpace+","
+countOthers);
}
}
【程序8】
题目:
求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
程序分析:
关键是计算出每一项的值。
importjava.util.Scanner;
publicclassA18Sum{
*求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字
publicstaticvoidmain(String[]args){
System.out.println("请输入加数的个数");
Scannerin=newScanner(System.in);
intt=in.nextInt();
sum(t);
}
privatestaticvoidsum(intt){
intarray[]=newint[t];
inta=2;
array[0]=a;
ints=array[0];
for(inti=1;i array[i]=array[i-1]*10+a;
s+=array[i];
}
System.out.println(s);
}
}
【程序9】
题目:
一个数如果恰好等于它的因子之和,这个数就称为"完数"。
例如6=1+2+3.编程找出1000以内的所有完数。
publicclassA19WanShu{
*一个数如果恰好等于它的因子之和,这个数就称为"完数"。
编程找出1000以内的所有完数。
publicstaticvoidmain(String[]args){
for(inti=0;i<1000;i++){
if(isWanshu(i)){
System.out.print(i+"");
}
}
}
privatestaticbooleanisWanshu(inti){
booleanflag=false;
intsum=1;
for(intk=2;k<=i/2;k++){
if(i%k==0){
sum+=k;
}
}
if(sum==i){
flag=true;
}
returnflag;
}
}
【程序10】
题目:
一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?
第10次反弹多高?
publicclassA20FanTan{
*一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?
第10次反弹多高?
publicstaticvoidmain(String[]args){
floatarray[]=newfloat[10];
floats=0;
floatsum=array[0];
for(inti=1;i array[0]=150;//第一次下落反弹的路程
array[i]=array[i-1]/(i+1);//第i+1次下落反弹的路程
sum+=array[i];
s=array[9]/3;
}
System.out.println("第10次落地共经过"+sum+"米;第10次反弹"+s+"米");
}
}
【程序11】
题目:
有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?
都是多少?
程序分析:
可填在百位、十位、个位的数字都是1、2、3、4。
组成所有的排列后再去掉不满足条件的排列。
*有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?
都是多少?
publicclassA21San{
publicstaticvoidmain(String[]args){
intcounter=0;
intn=0;
for(inti=1;i<5;i++){
for(intj=1;j<5;j++){
if(j==i){
continue;
}
for(intk=1;k<5;k++){
if(k!
=i&&k!
=j){
n=i*100+j*10+k;
counter++;
System.out.print(n+"");
}
}
}
}
System.out.println();
System.out.println("符合条件的数共:
"+counter+"个");
}
}
【程序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%提成,从键盘输入当月利润I,求应发放奖金总数?
importjava.util.Scanner;
publicclassA22Profit{
publicstaticvoidmain(String[]args){
System.out.println("请输入数字");
Scannerin=newScanner(System.in);
intn=in.nextInt();
avail(n);
}
privatestaticvoidavail(intn){
doublesum=0;
if(n<=10){
sum=n*0.1;
}
if(n>10&&n<=20){
sum=10*0.1+(n-10)*0.075;
}
if(n>20&&n<=40){
sum=10*0.1+10*0.075+(n-20)*0.05;
}
if(n>40&&n<=60){
sum=10*0.1+10*0.075+20*0.05+(n-40)*0.03;
}
if(n>60&&n<=100){
sum=10*0.1+10*0.075+20*0.05+20*0.03+(n-60)
*0.015;
}
if(n>100){
sum=10*0.1+10*0.075+20*0.05+20*0.03+40*0.015
+(n-100)*0.01;
}
System.out.println(sum);
}
}
【程序13】
题目:
一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
publicclassA23prefe{
publicstaticvoidmain(String[]args){
for(inti=0;i<=100000;i++){
if(isPrefe(i)){
}
}
}
privatestaticbooleanisPrefe(inti){
booleanflag=true;
for(intj=1;j<=100;j++){
if(j==Math.sqrt(i+100)){
flag=false;
if(flag==false){
for(intj2=j;j2<=100;j2++){
if(j2==Math.sqrt(i+268)){
System.out.print(i+"");
continue;
}
}
}
}
}
returnflag;
}
}
【程序14】
题目:
输入某年某月某日,判断这一天是这一年的第几天?
importjava.util.Scanner;
publicclassA24Judge{
publicstaticvoidmain(String[]args){
System.out.print("请输入当前日期,如:
2010-03-08");
Scannerin=newScanner(System.in);
Stringstr=in.next();
judge(str);
}
privatestaticvoidjudge(Stringstr){
Strings[]=str.split("-");
intyear=Integer.parseInt(s[0]);
intmonth=Integer.parseInt(s[1]);