Java实验报告(回文数-applet).docx
Java实验报告
是回文数开始输入一个数判断是否从左向右看和从右向左看都一样否是非回文数
是回文数
开始
输入一个数
判断是否从左向右看和从右向左看都一样
否
是
非回文数
结束
流程图:
分析步骤:
step1:开始。
step2:从用户端输入一个数。
step3:判断它是否从左向右看和从右向左看都一样。
step4:假设是,那么为回文数;假设否,那么不是回文数
step5:将step4结果显示在小窗口上。
step6:结束。
Code:
packagetimu;
importjava.applet.Applet;
importjava.awt.*;
publicclassNewAppletextendsApplet{
Labellab;
TextFieldinput;
intx;
publicvoidinit(){
lab=newLabel(输入一个数);
input=newTextField(10);
add(lab);
add(input);
}
publicbooleanaction(Evente,Objecto){
x=Integer.parseInt(input.getText());
inty=10,i=1;
intnum=x,b=x;
while(x/y0)
{
x=x/y;
i++;
}//endfor找出此数是几位数
intstore[]=newint[i];
for(intj=0;ji;j++)
{
store[j]=num%10;
num=num/10;
}//将每位数储存到store数组中
inttruetime=0;
for(intn=0;n(i+1)/2;n++)
{
if(store[n]==store[i-1-n])
truetime++;
else
break;
}
if(truetime==(i+1)/2)//通过测试正确次数类比拟是否是回文数
showStatus(是回文数);
else
showStatus(不是回文数);
returntrue;
}//endaction
}
显示结果:
不是回文数的情况
是回文数的情况
编程:产生20个int类型的随机数,针对每个数使用if-then-else判断它是大于、小于或等于下一个数〔注意:最后一个数不参与比拟〕。
结束此数大于下一个数
结束
此数大于下一个数
小
大
循环至下一个数
开始
产生20个整数
判断与下一个数的大小
等于
此数等于下一个数
此数小于下一个数
分析步骤:
step1:开始。
step2:随机产生20个整数。
step3:从第一个数开始,判断与下一个数的关系:假设大于,那么显示“此数大于下一个数”;假设小于,那么显示“此数小于下一个数”;假设等于,那么显示“此数等于下一个数”。
step4:重复step3,知道比拟到最后两个数为止。
step5:结束。
Code:
packagetimu;
publicclassTimu{
publicstaticvoidmain(String[]args){
//TODOcodeapplicationlogichere
inta[]=newint[20];
for(inti=0;i20;i++)
{
a[i]=(int)(Math.random()*100);
System.out.println(a[i]);
}
for(intj=0;j19;j++)
{
if(a[j]a[j+1])
{System.out.println(a[j]+大于+a[j+1]);}
elseif(a[j]==a[j+1])
{System.out.println(a[j]+等于+a[j+1]);}
else
{System.out.println(a[j]+小于+a[j+1]);}
}//endfor
}
}
显示结果:
心得与体会:
在编写回文数的程序时,经历了很多周折。开始时,我想到的方法是将这个数字整体来看,用等式将第一个数字和最后一个数字分开比拟,然后循环下去。最后发现这种方法实在太繁琐,需要编写多个条件句将其数字拆开,并且还