java求某整数与反序数之和
键盘输入正整数n,求出n与其反序数之和并输出。例如,输入2038,输出应为 2038+8302=10340。
20.2概要设计:
本程设计思路: 因为这个实验其实就是循环的问题,解起来还是相当简单的。用java做的话,读入的是字符串,转换成整数后,将该整数的每一位上的数都剥离出来用一个数组储存,然后要倒序的话就再倒成一个字符串,再转成整数 就能实现了。由于难度不是太大,所以我就提高了一下用java的applet来显示,弄成图形的。
20.3 详细设计与编码:
见上传程序。
20.4 调试分析:
在反序的算法上倒是没有什么大的问题,就是因为是用的applet来写的,有写功能我还不是很熟悉,所以是走了不少的弯路。像是刚开始时显示的状态上没有赋初值,java中就默认显示为null了。
程序执行的结果:
错误检测:
当什么都没有输入就按回车键时:
输入非整数:
20.5 用户使用说明:
直接在所显示的文本框上输入数值,如果输入有错误的话,会在下面的状态栏上提示。输入完后点击回车就行,计算后,结果会显示在画布上。
20.6 设计心得:
用java的applet来实现还是一件挺有乐趣的事情。写写的,感觉applet的功能还真是强大,并且也是深切认识到了他的强大,无怪乎现在applet的地位还是那么的重要。不过自己对于这一方面的了解也确实是少了写。刚写还真是碰到了不少的问题,还是看着书仔细研究的。不过当写成功的时候还真是有成就感。
import java.awt.*;
import java.applet.*;
public class yi extends Applet{//继承applet类
Label lab1,lab2;//定义两个标签
TextField input;//输入文本框
String s="",s2="",sum="";//初始化
public void init(){//方法,在画布上添加标签等,同时初始化
lab1=new Label("输入正整数:");
input=new TextField(10);
add(lab1);
原文请找腾讯752018766辣,文-论'文.网http://www.751com.cn ,转成int类型
int len=o.toString().length();//获得该数值的长度
int a[]=new int[len];
for(int i=0;i<len;i++){//用a[]数组来存放数值每一位上的数值
a[i]=(int) ((data/Math.pow(10, len-i-1))%10);
}
for(int i=0;i<len;i++){//获得反序后的数值
data2=data2+(int) (a[i]*Math.pow(10, i));
}
s=String.valueOf(data);//int转化为string类型
s2=String.valueOf(data2);
sum=String.valueOf(data+data2);
showStatus("运行成功!");//状态栏显示
repaint();//重画
return true;
}catch(Exception a){//监听错误,并做出相应的操作
s="";
s2="";
sum="";
showStatus("出错!");
repaint();
return false;1837