if(a[i]>='a'&&a[i]<='z'||a[i]>='A'&&a[i]<='Z'){
charNum++;
}elseif(a[i]==''){
blankNum++;
}elseif(a[i]>='1'&&a[i]<='9'){
Num++;
}else{
otherNum++;
}
}
System.out.println("字母的个数"+charNum);
System.out.println("空格的个数"+blankNum);
System.out.println("数字的个数"+Num);
System.out.println("其他字符的个数"+otherNum);
}
}
【程序8】
题目:
求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
1.程序分析:
关键是计算出每一项的值。
publicclassTest
{
publicstaticvoidmain(Stringargs[]){
doublea=1.0;//要计算的数字
doubleb=a;//控制变化的递增的大小
doublesum=0.0;//计算结果的总和
doubleCnum=3.0;//要求几个数相加
sum=a;
for(doublei=1.0;i<=Cnum;i++){
doublec=0.0;
c=b*Math.pow(10.0,i);
a+=c;
sum+=a;
}
System.out.println(sum);
}
}
【程序9】
题目:
一个数如果恰好等于它的因子之和,这个数就称为"完数"。
例如6=1+2+3.编程 找出1000以内的所有完数。
classTestWanShu{publicstaticvoidmain(String[]args)
intsum=0;
intsq;
intwanshu=1;
System.out.println(wanshu+"是一个完数");
for(wanshu=2;wanshu<=1000;wanshu++){
sq=wanshu/2;
do{
if(wanshu%sq==0){
sum+=sq;
}
sq--;
}while(sq>0);
if(wanshu==sum){
System.out.println(wanshu+"是一个完数;");
}
sum=0;
}
}
}
【程序10】
题目:
一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?
第10次反弹多高?
publicclassTest4
{
publicstaticvoidmain(String[]args){
doublea;
doublesum;
a=100;
sum=0;
for(inti=0;i<10;i++)
{
sum+=2*a;
a=a/2;
}
System.out.println("第10次落地时,共经过:
"+(sum-100)+"米");
System.out.println("第10次反弹"+a+"米");
}
}
【程序11】
题目:
有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?
都是多少?
1.程序分析:
可填在百位、十位、个位的数字都是1、2、3、4。
组成所有的排列后再去 掉不满足条件的排列
。
publicclassSubject11{
publicstaticvoidmain(String[]args){
intcount=0;
for(inti=1;i<5;i++)
{
for(intj=1;j<5;j++)
{
for(intk=1;k<5;k++)
{
if(i!
=j&&i!
=k&&j!
=k)
{
count++;
System.out.println(i*100+j*10+k);
}
}
}
}
System.out.println("由1,2,3,4共可以组成"+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%提成,从键盘输入当月利润I,求应发放奖金总数?
1.程序分析:
请利用数轴来分界,定位。
注意定义时需把奖金定义成长整型。
importjava.util.*;
publicclassTest4
{
publicstaticvoidmain(String[]args)
{
longreward;
Scannerin=newScanner(System.in);
System.out.println("输入当月利润:
");
reward=in.nextLong();
doubleb;
longa=reward;
if(a<=10000&&a>0){
b=(long)a*10/100;
System.out.println("你可以获得奖金:
"+b);
}
elseif(a>100000&&a<=200000){
b=(long)(a-100000)*7.75/100+(100000*10/100);
System.out.println("你可以获得奖金:
"+b);
}
elseif(a>200000&&a<=400000){
b=(long)(a-200000)*5/100+(100000*7.5/100)+(100000*10/100);
System.out.println("你可以获得奖金:
"+b);
}
elseif(a>400000&&a<=600000){
b=(long)(a-400000)*3/100+(200000*5/100)+(200000*7.5/100)+(100000*10/100);
System.out.println("你可以获得奖金:
"+b);
}
elseif(a>600000&&a<=1000000){
b=(long)(a-600000)*1.5/100+(200000*5/100)+(200000*3/100)+(200000*7.5/100)+(100000*10/100);
System.out.println("你可以获得奖金:
"+b);
}
elseif(a>1000000){
b=(long)(a-1000000)*1.5/100+(200000*5/100)+(400000*1.5/100)+(200000*3/100)+(200000*7.5/100)+(100000*10/100);
System.out.println("你可以获得奖金:
"+b);
}
else{
System.out.println("你的输入有错误:
");
}
}
}
【程序13】
题目:
一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
1.程序分析:
在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。
请看具体分析:
publicclassTestFullSqrt
{
publicstaticvoidmain(String[]args)
{
for(longi=1;i<100000;i++)
{
if(Math.sqrt(i+100)%1==0&&Math.sqrt(i+268)%1==0)
{
System.out.println(i+"满足加上100后是一个完全平方数,再加上168又是一个完全平方数");
}
}
}
}
【程序14】
题目:
输入某年某月某日,判断这一天是这一年的第几天?
1.程序分析:
以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。
importjava.util.*;
publicclassTestCommonNum
{staticlonga=0,b=0,c=0;
publicstaticvoidmain(String[]args){
System.out.println("pleaseinputtwonumbers:
");
Scannerin=newScanner(System.in);
System.out.println("firstnumber:
");
a=in.nextLong();
System.out.println("fsecondnumber:
");
b=in.nextLong();
System.out.println("gongyueshu"+commonMul(a,b));
System.out.println("gongbeishu"+a*b/commonMul(a,b));
}
publicstaticlongcommonMul(longx,longy){
if(xlongtemp=0;
temp=x;
x=y;
y=temp;
}
do
{
c=x%y;
x=y;
y=c;
}
while(c!
=0);
returnx;
}
}
【程序15】
题目:
输入三个整数x,y,z,请把这三个数由小到大输出。
1.程序分析:
我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。
importjava.util.*;
publicclassTest4
{
publicstaticvoidmain(String[]args)
{intx;
inty;
intz;
Scannerin=newScanner(System.in);
System.out.print("请输入x的值:
");
x=in.nextInt();
System.out.print("请输入y的值:
");
y=in.nextInt();
System.out.print("请输入z的值:
");
z=in.nextInt();
System.out.print("x,y,z从小到大的顺序是:
");
if(x{if(xif(ySystem.out.println(x+""+y+""+z);
}else{
System.out.println(x+""+z+""+y);
}
}else{
System.out.println(z+""+x+""+y);
}